0s autopkgtest [15:31:18]: starting date and time: 2024-03-20 15:31:18+0000 0s autopkgtest [15:31:18]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [15:31:18]: host juju-7f2275-prod-proposed-migration-environment-4; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.9r6fmrf2/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_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\n" >> /etc/environment' --apt-pocket=proposed --apt-upgrade libjson-schema-modern-perl --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=perl/5.38.2-3.2 libscalar-list-utils-perl/1:1.63-1build2' -- lxd -r lxd-armhf-10.44.124.170 lxd-armhf-10.44.124.170:autopkgtest/ubuntu/noble/armhf 60s autopkgtest [15:32:18]: testbed dpkg architecture: armhf 62s autopkgtest [15:32:20]: testbed apt version: 2.7.12 62s autopkgtest [15:32:20]: @@@@@@@@@@@@@@@@@@@@ test bed setup 64s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 65s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [53.9 kB] 65s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3815 kB] 65s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 65s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [500 kB] 65s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf Packages [620 kB] 65s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf c-n-f Metadata [2492 B] 65s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf Packages [1372 B] 65s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf c-n-f Metadata [116 B] 65s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf Packages [3780 kB] 65s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf c-n-f Metadata [7776 B] 65s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf Packages [35.6 kB] 65s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf c-n-f Metadata [116 B] 78s Fetched 8939 kB in 4s (2290 kB/s) 79s Reading package lists... 85s Get:1 http://ports.ubuntu.com/ubuntu-ports noble-proposed InRelease [117 kB] 86s Get:2 http://ports.ubuntu.com/ubuntu-ports noble-proposed/main armhf Packages [620 kB] 86s Get:3 http://ports.ubuntu.com/ubuntu-ports noble-proposed/main armhf c-n-f Metadata [2492 B] 86s Get:4 http://ports.ubuntu.com/ubuntu-ports noble-proposed/universe armhf Packages [3780 kB] 86s Get:5 http://ports.ubuntu.com/ubuntu-ports noble-proposed/universe armhf c-n-f Metadata [7776 B] 86s Get:6 http://ports.ubuntu.com/ubuntu-ports noble-proposed/restricted armhf Packages [1372 B] 86s Get:7 http://ports.ubuntu.com/ubuntu-ports noble-proposed/restricted armhf c-n-f Metadata [116 B] 86s Get:8 http://ports.ubuntu.com/ubuntu-ports noble-proposed/multiverse armhf Packages [35.6 kB] 86s Get:9 http://ports.ubuntu.com/ubuntu-ports noble-proposed/multiverse armhf c-n-f Metadata [116 B] 98s Fetched 4564 kB in 2s (1859 kB/s) 99s Reading package lists... 108s tee: /proc/self/fd/2: Permission denied 153s Hit:1 http://ports.ubuntu.com/ubuntu-ports noble-proposed InRelease 153s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 153s Hit:3 http://ports.ubuntu.com/ubuntu-ports noble InRelease 153s Hit:4 http://ftpmaster.internal/ubuntu noble-updates InRelease 153s Hit:5 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease 153s Hit:6 http://ftpmaster.internal/ubuntu noble-security InRelease 153s Hit:7 http://ports.ubuntu.com/ubuntu-ports noble-backports InRelease 153s Hit:8 http://ftpmaster.internal/ubuntu noble-proposed InRelease 153s Hit:9 http://ports.ubuntu.com/ubuntu-ports noble-security InRelease 159s Reading package lists... 160s Reading package lists... 161s Building dependency tree... 161s Reading state information... 163s Calculating upgrade... 164s The following packages were automatically installed and are no longer required: 164s libatasmart4 libblockdev-crypto3 libblockdev-fs3 libblockdev-loop3 164s libblockdev-mdraid3 libblockdev-nvme3 libblockdev-part3 libblockdev-swap3 164s libblockdev-utils3 libblockdev3 libbytesize-common libbytesize1 libnspr4 164s libnss3 libnvme1t64 libpolkit-agent-1-0 libvolume-key1 164s linux-headers-6.8.0-11 python3-lib2to3 164s Use 'apt autoremove' to remove them. 167s The following packages will be REMOVED: 167s libapt-pkg6.0 libarchive13 libatm1 libcurl3-gnutls libcurl4 libdb5.3 libelf1 167s libext2fs2 libgdbm-compat4 libgdbm6 libglib2.0-0 libgnutls30 libgpgme11 167s libhogweed6 libmagic1 libnetplan0 libnettle8 libnpth0 libnvme1 libparted2 167s libpcap0.8 libperl5.38 libpng16-16 libpsl5 libreadline8 libreiserfscore0 167s libssl3 libtirpc3 libudisks2-0 libuv1 linux-headers-6.8.0-11-generic 167s python3-distutils udisks2 167s The following NEW packages will be installed: 167s libapt-pkg6.0t64 libarchive13t64 libatm1t64 libcurl3t64-gnutls libcurl4t64 167s libdb5.3t64 libelf1t64 libext2fs2t64 libgdbm-compat4t64 libgdbm6t64 167s libglib2.0-0t64 libgnutls30t64 libgpgme11t64 libhogweed6t64 libmagic1t64 167s libnetplan1 libnettle8t64 libnpth0t64 libnvme1t64 libparted2t64 167s libpcap0.8t64 libperl5.38t64 libpng16-16t64 libpsl5t64 libreadline8t64 167s libreiserfscore0t64 libssl3t64 libtirpc3t64 libuv1t64 linux-headers-6.8.0-20 167s linux-headers-6.8.0-20-generic xdg-user-dirs 167s The following packages have been kept back: 167s multipath-tools 167s The following packages will be upgraded: 167s apparmor apt apt-utils bind9-dnsutils bind9-host bind9-libs binutils 167s binutils-arm-linux-gnueabihf binutils-common bolt bsdextrautils bsdutils 167s btrfs-progs coreutils cryptsetup-bin curl dbus dbus-bin dbus-daemon 167s dbus-session-bus-common dbus-system-bus-common dbus-user-session debianutils 167s dhcpcd-base dirmngr dmsetup dpkg dpkg-dev e2fsprogs e2fsprogs-l10n eject 167s fdisk file ftp fwupd gawk gcc-13-base gcc-14-base gir1.2-girepository-2.0 167s gir1.2-glib-2.0 gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client 167s gpgconf gpgsm gpgv groff-base ibverbs-providers inetutils-telnet info 167s initramfs-tools initramfs-tools-bin initramfs-tools-core install-info 167s iproute2 jq keyboxd kmod kpartx krb5-locales libapparmor1 libaudit-common 167s libaudit1 libbinutils libblkid1 libblockdev-crypto3 libblockdev-fs3 167s libblockdev-loop3 libblockdev-mdraid3 libblockdev-nvme3 libblockdev-part3 167s libblockdev-swap3 libblockdev-utils3 libblockdev3 libbpf1 libbrotli1 libbsd0 167s libc-bin libc6 libcap-ng0 libcom-err2 libcryptsetup12 libctf-nobfd0 libctf0 167s libdbus-1-3 libdebconfclient0 libdevmapper1.02.1 libdpkg-perl 167s libevent-core-2.1-7 libexpat1 libfdisk1 libfido2-1 libftdi1-2 libfwupd2 167s libgcc-s1 libgirepository-1.0-1 libglib2.0-data libgssapi-krb5-2 167s libgudev-1.0-0 libgusb2 libibverbs1 libjcat1 libjq1 libjson-glib-1.0-0 167s libjson-glib-1.0-common libk5crypto3 libkmod2 libkrb5-3 libkrb5support0 167s libldap-common libldap2 liblocale-gettext-perl liblzma5 libmagic-mgc 167s libmbim-glib4 libmbim-proxy libmm-glib0 libmount1 libnghttp2-14 libnsl2 167s libnss-systemd libpam-modules libpam-modules-bin libpam-runtime 167s libpam-systemd libpam0g libplymouth5 libpolkit-agent-1-0 167s libpolkit-gobject-1-0 libpython3-stdlib libpython3.11-minimal 167s libpython3.11-stdlib libpython3.12-minimal libpython3.12-stdlib libqmi-glib5 167s libqmi-proxy libqrtr-glib0 librtmp1 libsasl2-2 libsasl2-modules 167s libsasl2-modules-db libseccomp2 libselinux1 libsemanage-common libsemanage2 167s libsframe1 libslang2 libsmartcols1 libsqlite3-0 libss2 libssh-4 libstdc++6 167s libsystemd-shared libsystemd0 libtext-charwidth-perl libtext-iconv-perl 167s libtirpc-common libudev1 libusb-1.0-0 libuuid1 libvolume-key1 libxml2 167s libxmlb2 libxmuu1 linux-headers-generic locales logsave lshw lsof man-db 167s mount mtr-tiny netplan-generator netplan.io openssh-client openssh-server 167s openssh-sftp-server openssl parted perl perl-base perl-modules-5.38 167s pinentry-curses plymouth plymouth-theme-ubuntu-text psmisc python-apt-common 167s python3 python3-apt python3-cryptography python3-dbus python3-gdbm 167s python3-gi python3-lib2to3 python3-markupsafe python3-minimal 167s python3-netplan python3-pkg-resources python3-pyrsistent python3-setuptools 167s python3-typing-extensions python3-yaml python3.11 python3.11-minimal 167s python3.12 python3.12-minimal readline-common rsync shared-mime-info sudo 167s systemd systemd-dev systemd-resolved systemd-sysv systemd-timesyncd tcpdump 167s telnet tnftp ubuntu-minimal ubuntu-pro-client ubuntu-pro-client-l10n 167s ubuntu-standard udev usb.ids util-linux uuid-runtime vim-common vim-tiny 167s wget xxd xz-utils zlib1g 167s 235 upgraded, 32 newly installed, 33 to remove and 1 not upgraded. 167s Need to get 106 MB of archives. 167s After this operation, 82.8 MB of additional disk space will be used. 167s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bsdutils armhf 1:2.39.3-9ubuntu2 [102 kB] 168s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gcc-14-base armhf 14-20240315-1ubuntu1 [47.0 kB] 168s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgcc-s1 armhf 14-20240315-1ubuntu1 [41.5 kB] 168s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libstdc++6 armhf 14-20240315-1ubuntu1 [714 kB] 168s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libc6 armhf 2.39-0ubuntu6 [2827 kB] 168s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssl armhf 3.0.13-0ubuntu2 [975 kB] 169s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf zlib1g armhf 1:1.3.dfsg-3.1ubuntu1 [49.2 kB] 169s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main armhf librtmp1 armhf 2.4+20151223.gitfa8646d.1-2build6 [51.3 kB] 169s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.12 armhf 3.12.2-4build3 [645 kB] 169s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libexpat1 armhf 2.6.1-2 [65.9 kB] 169s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.12-minimal armhf 3.12.2-4build3 [1942 kB] 169s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.12-stdlib armhf 3.12.2-4build3 [1906 kB] 169s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.12-minimal armhf 3.12.2-4build3 [816 kB] 169s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/main armhf parted armhf 3.6-3.1build2 [39.4 kB] 169s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblkid1 armhf 2.39.3-9ubuntu2 [160 kB] 169s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libselinux1 armhf 3.5-2ubuntu1 [70.9 kB] 169s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-dev all 255.4-1ubuntu5 [103 kB] 169s Get:18 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-timesyncd armhf 255.4-1ubuntu5 [36.0 kB] 169s Get:19 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-session-bus-common all 1.14.10-4ubuntu2 [80.3 kB] 169s Get:20 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libaudit-common all 1:3.1.2-2.1 [5674 B] 169s Get:21 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcap-ng0 armhf 0.8.4-2build1 [13.5 kB] 169s Get:22 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libaudit1 armhf 1:3.1.2-2.1 [44.3 kB] 169s Get:23 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam0g armhf 1.5.3-5ubuntu3 [62.0 kB] 169s Get:24 http://ftpmaster.internal/ubuntu noble-proposed/main armhf liblzma5 armhf 5.6.0-0.2 [117 kB] 169s Get:25 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libldap2 armhf 2.6.7+dfsg-1~exp1ubuntu6 [172 kB] 169s Get:26 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libglib2.0-0t64 armhf 2.79.3-3ubuntu5 [1414 kB] 169s Get:27 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libvolume-key1 armhf 0.3.12-7build1 [38.4 kB] 169s Get:28 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgpgme11t64 armhf 1.18.0-4.1ubuntu3 [120 kB] 169s Get:29 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjcat1 armhf 0.2.0-2build2 [30.4 kB] 169s Get:30 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libarchive13t64 armhf 3.7.2-1.1ubuntu1 [330 kB] 169s Get:31 http://ftpmaster.internal/ubuntu noble-proposed/main armhf fwupd armhf 1.9.15-1 [4349 kB] 170s Get:32 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ubuntu-pro-client-l10n armhf 31.2 [19.4 kB] 170s Get:33 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ubuntu-pro-client armhf 31.2 [216 kB] 170s Get:34 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.11 armhf 3.11.8-1build4 [589 kB] 170s Get:35 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.11-minimal armhf 3.11.8-1build4 [1795 kB] 170s Get:36 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.11-minimal armhf 3.11.8-1build4 [826 kB] 170s Get:37 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-modules-db armhf 2.1.28+dfsg1-4ubuntu4 [19.2 kB] 170s Get:38 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtext-iconv-perl armhf 1.7-8build2 [12.7 kB] 170s Get:39 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtext-charwidth-perl armhf 0.04-11build2 [8962 B] 170s Get:40 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl-base armhf 5.38.2-3.2 [1671 kB] 170s Get:41 http://ftpmaster.internal/ubuntu noble-proposed/main armhf liblocale-gettext-perl armhf 1.07-6ubuntu3 [15.0 kB] 170s Get:42 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 170s Get:43 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-gdbm armhf 3.12.2-3ubuntu2 [17.1 kB] 170s Get:44 http://ftpmaster.internal/ubuntu noble-proposed/main armhf man-db armhf 2.12.0-3build4 [1196 kB] 170s Get:45 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgdbm6t64 armhf 1.23-5.1 [30.3 kB] 173s Get:46 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgdbm-compat4t64 armhf 1.23-5.1 [6208 B] 173s Get:47 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libperl5.38t64 armhf 5.38.2-3.2 [4101 kB] 174s Get:48 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl armhf 5.38.2-3.2 [231 kB] 174s Get:49 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdb5.3t64 armhf 5.3.28+dfsg2-5build1 [661 kB] 174s Get:50 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.11-stdlib armhf 3.11.8-1build4 [1810 kB] 174s Get:51 http://ftpmaster.internal/ubuntu noble-proposed/main armhf keyboxd armhf 2.4.4-2ubuntu15 [111 kB] 174s Get:52 http://ftpmaster.internal/ubuntu noble/main armhf libnpth0t64 armhf 1.6-3.1 [6940 B] 174s Get:53 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgv armhf 2.4.4-2ubuntu15 [224 kB] 174s Get:54 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg armhf 2.4.4-2ubuntu15 [524 kB] 174s Get:55 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg-wks-client armhf 2.4.4-2ubuntu15 [87.4 kB] 174s Get:56 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg-utils armhf 2.4.4-2ubuntu15 [158 kB] 174s Get:57 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg-agent armhf 2.4.4-2ubuntu15 [235 kB] 174s Get:58 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgsm armhf 2.4.4-2ubuntu15 [241 kB] 174s Get:59 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libreadline8t64 armhf 8.2-3.1 [129 kB] 174s Get:60 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gawk armhf 1:5.2.1-2build2 [415 kB] 174s Get:61 http://ftpmaster.internal/ubuntu noble-proposed/main armhf fdisk armhf 2.39.3-9ubuntu2 [135 kB] 174s Get:62 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgconf armhf 2.4.4-2ubuntu15 [115 kB] 174s Get:63 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dirmngr armhf 2.4.4-2ubuntu15 [346 kB] 174s Get:64 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg all 2.4.4-2ubuntu15 [359 kB] 174s Get:65 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-apt armhf 2.7.6build1 [162 kB] 174s Get:66 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apt-utils armhf 2.7.13ubuntu1 [210 kB] 174s Get:67 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libapt-pkg6.0t64 armhf 2.7.13ubuntu1 [986 kB] 174s Get:68 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnettle8t64 armhf 3.9.1-2.2 [187 kB] 174s Get:69 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libhogweed6t64 armhf 3.9.1-2.2 [187 kB] 174s Get:70 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgnutls30t64 armhf 3.8.3-1.1ubuntu2 [1046 kB] 175s Get:71 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apt armhf 2.7.13ubuntu1 [1367 kB] 175s Get:72 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcurl3t64-gnutls armhf 8.5.0-2ubuntu7 [290 kB] 175s Get:73 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfwupd2 armhf 1.9.15-1 [123 kB] 175s Get:74 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpsl5t64 armhf 0.21.2-1.1 [55.7 kB] 175s Get:75 http://ftpmaster.internal/ubuntu noble-proposed/main armhf wget armhf 1.21.4-1ubuntu2 [317 kB] 175s Get:76 http://ftpmaster.internal/ubuntu noble-proposed/main armhf tnftp armhf 20230507-2build1 [98.6 kB] 175s Get:77 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpcap0.8t64 armhf 1.10.4-4.1ubuntu1 [137 kB] 175s Get:78 http://ftpmaster.internal/ubuntu noble-proposed/main armhf tcpdump armhf 4.99.4-3ubuntu2 [425 kB] 175s Get:79 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsystemd-shared armhf 255.4-1ubuntu5 [2009 kB] 175s Get:80 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-resolved armhf 255.4-1ubuntu5 [289 kB] 175s Get:81 http://ftpmaster.internal/ubuntu noble-proposed/main armhf sudo armhf 1.9.15p5-3ubuntu3 [936 kB] 175s Get:82 http://ftpmaster.internal/ubuntu noble-proposed/main armhf rsync armhf 3.2.7-1build1 [413 kB] 175s Get:83 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-cryptography armhf 41.0.7-4build2 [788 kB] 175s Get:84 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-sftp-server armhf 1:9.6p1-3ubuntu11 [35.5 kB] 175s Get:85 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-client armhf 1:9.6p1-3ubuntu11 [890 kB] 175s Get:86 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-server armhf 1:9.6p1-3ubuntu11 [503 kB] 175s Get:87 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-6.8.0-20 all 6.8.0-20.20 [13.6 MB] 175s Get:88 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-6.8.0-20-generic armhf 6.8.0-20.20 [1287 kB] 176s Get:89 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-generic armhf 6.8.0-20.20+1 [9610 B] 176s Get:90 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libssl3t64 armhf 3.0.13-0ubuntu2 [1558 kB] 176s Get:91 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libudev1 armhf 255.4-1ubuntu5 [166 kB] 176s Get:92 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd armhf 255.4-1ubuntu5 [3502 kB] 176s Get:93 http://ftpmaster.internal/ubuntu noble-proposed/main armhf udev armhf 255.4-1ubuntu5 [1852 kB] 176s Get:94 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-sysv armhf 255.4-1ubuntu5 [11.9 kB] 176s Get:95 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnss-systemd armhf 255.4-1ubuntu5 [148 kB] 176s Get:96 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-systemd armhf 255.4-1ubuntu5 [216 kB] 176s Get:97 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsystemd0 armhf 255.4-1ubuntu5 [410 kB] 176s Get:98 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-modules-bin armhf 1.5.3-5ubuntu3 [47.0 kB] 176s Get:99 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-modules armhf 1.5.3-5ubuntu3 [261 kB] 176s Get:100 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-runtime all 1.5.3-5ubuntu3 [40.8 kB] 176s Get:101 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-user-session armhf 1.14.10-4ubuntu2 [9962 B] 176s Get:102 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libapparmor1 armhf 4.0.0-beta3-0ubuntu2 [45.0 kB] 176s Get:103 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-bin armhf 1.14.10-4ubuntu2 [37.1 kB] 176s Get:104 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-system-bus-common all 1.14.10-4ubuntu2 [81.5 kB] 176s Get:105 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus armhf 1.14.10-4ubuntu2 [28.1 kB] 176s Get:106 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-daemon armhf 1.14.10-4ubuntu2 [109 kB] 176s Get:107 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdbus-1-3 armhf 1.14.10-4ubuntu2 [190 kB] 176s Get:108 http://ftpmaster.internal/ubuntu noble-proposed/main armhf kmod armhf 31+20240202-2ubuntu4 [91.8 kB] 176s Get:109 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkmod2 armhf 31+20240202-2ubuntu4 [44.9 kB] 176s Get:110 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmount1 armhf 2.39.3-9ubuntu2 [171 kB] 176s Get:111 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libseccomp2 armhf 2.5.5-1ubuntu2 [49.5 kB] 176s Get:112 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libuuid1 armhf 2.39.3-9ubuntu2 [34.4 kB] 176s Get:113 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcryptsetup12 armhf 2:2.7.0-1ubuntu2 [238 kB] 176s Get:114 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfdisk1 armhf 2.39.3-9ubuntu2 [196 kB] 176s Get:115 http://ftpmaster.internal/ubuntu noble-proposed/main armhf mount armhf 2.39.3-9ubuntu2 [134 kB] 176s Get:116 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdevmapper1.02.1 armhf 2:1.02.185-3ubuntu2 [135 kB] 177s Get:117 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparted2t64 armhf 3.6-3.1build2 [143 kB] 177s Get:118 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsqlite3-0 armhf 3.45.1-1ubuntu1 [599 kB] 177s Get:119 http://ftpmaster.internal/ubuntu noble-proposed/main armhf pinentry-curses armhf 1.2.1-3ubuntu4 [36.7 kB] 177s Get:120 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsmartcols1 armhf 2.39.3-9ubuntu2 [117 kB] 177s Get:121 http://ftpmaster.internal/ubuntu noble-proposed/main armhf readline-common all 8.2-3.1 [56.4 kB] 177s Get:122 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-yaml armhf 6.0.1-2build1 [117 kB] 177s Get:123 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python-apt-common all 2.7.6build1 [19.8 kB] 177s Get:124 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-setuptools all 68.1.2-2ubuntu1 [396 kB] 177s Get:125 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-pkg-resources all 68.1.2-2ubuntu1 [168 kB] 177s Get:126 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dpkg armhf 1.22.6ubuntu4 [1229 kB] 177s Get:127 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-minimal armhf 3.12.2-0ubuntu1 [27.1 kB] 177s Get:128 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3 armhf 3.12.2-0ubuntu1 [24.1 kB] 177s Get:129 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3-stdlib armhf 3.12.2-0ubuntu1 [9802 B] 177s Get:130 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bsdextrautils armhf 2.39.3-9ubuntu2 [78.7 kB] 177s Get:131 http://ftpmaster.internal/ubuntu noble-proposed/main armhf groff-base armhf 1.23.0-3build1 [946 kB] 177s Get:132 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-2 armhf 2.1.28+dfsg1-4ubuntu4 [49.7 kB] 177s Get:133 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjson-glib-1.0-common all 1.8.0-2build1 [4210 B] 177s Get:134 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjson-glib-1.0-0 armhf 1.8.0-2build1 [61.2 kB] 177s Get:135 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxml2 armhf 2.9.14+dfsg-1.3ubuntu2 [595 kB] 177s Get:136 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgudev-1.0-0 armhf 1:238-3ubuntu2 [13.6 kB] 178s Get:137 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libusb-1.0-0 armhf 2:1.0.27-1 [48.7 kB] 178s Get:138 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgusb2 armhf 0.4.8-1build1 [34.6 kB] 178s Get:139 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmbim-proxy armhf 1.31.2-0ubuntu2 [5748 B] 178s Get:140 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmbim-glib4 armhf 1.31.2-0ubuntu2 [216 kB] 178s Get:141 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmm-glib0 armhf 1.23.4-0ubuntu1 [214 kB] 178s Get:142 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpolkit-agent-1-0 armhf 124-1ubuntu1 [15.3 kB] 178s Get:143 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpolkit-gobject-1-0 armhf 124-1ubuntu1 [44.1 kB] 178s Get:144 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqmi-proxy armhf 1.35.2-0ubuntu1 [5732 B] 178s Get:145 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqrtr-glib0 armhf 1.2.2-1ubuntu3 [15.4 kB] 178s Get:146 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqmi-glib5 armhf 1.35.2-0ubuntu1 [908 kB] 178s Get:147 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxmlb2 armhf 0.3.15-1build1 [57.0 kB] 178s Get:148 http://ftpmaster.internal/ubuntu noble-proposed/main armhf shared-mime-info armhf 2.4-1build1 [470 kB] 178s Get:149 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbrotli1 armhf 1.1.0-2build1 [319 kB] 178s Get:150 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgssapi-krb5-2 armhf 1.20.1-5.1build3 [119 kB] 178s Get:151 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkrb5-3 armhf 1.20.1-5.1build3 [321 kB] 178s Get:152 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkrb5support0 armhf 1.20.1-5.1build3 [31.4 kB] 178s Get:153 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libk5crypto3 armhf 1.20.1-5.1build3 [78.6 kB] 178s Get:154 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcom-err2 armhf 1.47.0-2.4~exp1ubuntu2 [21.9 kB] 178s Get:155 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnghttp2-14 armhf 1.59.0-1build1 [68.1 kB] 178s Get:156 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libssh-4 armhf 0.10.6-2build1 [169 kB] 178s Get:157 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libibverbs1 armhf 50.0-2build1 [57.9 kB] 178s Get:158 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfido2-1 armhf 1.14.0-1build1 [75.8 kB] 178s Get:159 http://ftpmaster.internal/ubuntu noble-proposed/main armhf coreutils armhf 9.4-3ubuntu3 [1280 kB] 179s Get:160 http://ftpmaster.internal/ubuntu noble-proposed/main armhf debianutils armhf 5.17 [88.9 kB] 179s Get:161 http://ftpmaster.internal/ubuntu noble-proposed/main armhf util-linux armhf 2.39.3-9ubuntu2 [1216 kB] 179s Get:162 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libc-bin armhf 2.39-0ubuntu6 [530 kB] 179s Get:163 http://ftpmaster.internal/ubuntu noble-proposed/main armhf curl armhf 8.5.0-2ubuntu7 [219 kB] 179s Get:164 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcurl4t64 armhf 8.5.0-2ubuntu7 [296 kB] 179s Get:165 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbpf1 armhf 1:1.3.0-2build1 [146 kB] 179s Get:166 http://ftpmaster.internal/ubuntu noble-proposed/main armhf iproute2 armhf 6.1.0-1ubuntu5 [1060 kB] 179s Get:167 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libelf1t64 armhf 0.190-1.1build2 [49.9 kB] 179s Get:168 http://ftpmaster.internal/ubuntu noble-proposed/main armhf lsof armhf 4.95.0-1build2 [248 kB] 179s Get:169 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnsl2 armhf 1.3.0-3build2 [36.5 kB] 179s Get:170 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtirpc-common all 1.3.4+ds-1.1 [8018 B] 179s Get:171 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtirpc3t64 armhf 1.3.4+ds-1.1 [73.2 kB] 179s Get:172 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-utils3 armhf 3.1.0-1build1 [16.9 kB] 179s Get:173 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-fs3 armhf 3.1.0-1build1 [34.4 kB] 179s Get:174 http://ftpmaster.internal/ubuntu noble-proposed/main armhf logsave armhf 1.47.0-2.4~exp1ubuntu2 [21.9 kB] 179s Get:175 http://ftpmaster.internal/ubuntu noble/main armhf ubuntu-minimal armhf 1.536build1 [10.7 kB] 179s Get:176 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools all 0.142ubuntu22 [9056 B] 179s Get:177 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools-core all 0.142ubuntu22 [50.0 kB] 179s Get:178 http://ftpmaster.internal/ubuntu noble-proposed/main armhf e2fsprogs-l10n all 1.47.0-2.4~exp1ubuntu2 [5996 B] 179s Get:179 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libext2fs2t64 armhf 1.47.0-2.4~exp1ubuntu2 [201 kB] 179s Get:180 http://ftpmaster.internal/ubuntu noble-proposed/main armhf e2fsprogs armhf 1.47.0-2.4~exp1ubuntu2 [571 kB] 179s Get:181 http://ftpmaster.internal/ubuntu noble-proposed/main armhf btrfs-progs armhf 6.6.3-1.1build1 [852 kB] 179s Get:182 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dhcpcd-base armhf 1:10.0.6-1ubuntu2 [186 kB] 179s Get:183 http://ftpmaster.internal/ubuntu noble-proposed/main armhf eject armhf 2.39.3-9ubuntu2 [43.2 kB] 179s Get:184 http://ftpmaster.internal/ubuntu noble-proposed/main armhf locales all 2.39-0ubuntu6 [4232 kB] 179s Get:185 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnetplan1 armhf 1.0-1 [113 kB] 179s Get:186 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-netplan armhf 1.0-1 [22.5 kB] 179s Get:187 http://ftpmaster.internal/ubuntu noble-proposed/main armhf netplan-generator armhf 1.0-1 [58.7 kB] 179s Get:188 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-dbus armhf 1.3.2-5build2 [94.7 kB] 179s Get:189 http://ftpmaster.internal/ubuntu noble-proposed/main armhf netplan.io armhf 1.0-1 [64.3 kB] 179s Get:190 http://ftpmaster.internal/ubuntu noble-proposed/main armhf vim-tiny armhf 2:9.1.0016-1ubuntu5 [665 kB] 179s Get:191 http://ftpmaster.internal/ubuntu noble-proposed/main armhf vim-common all 2:9.1.0016-1ubuntu5 [385 kB] 179s Get:192 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools-bin armhf 0.142ubuntu22 [20.1 kB] 179s Get:193 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libreiserfscore0t64 armhf 1:3.6.27-7.1 [66.2 kB] 179s Get:194 http://ftpmaster.internal/ubuntu noble-proposed/main armhf file armhf 1:5.45-3 [21.1 kB] 179s Get:195 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmagic-mgc armhf 1:5.45-3 [307 kB] 179s Get:196 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmagic1t64 armhf 1:5.45-3 [81.4 kB] 179s Get:197 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-nvme3 armhf 3.1.0-1build1 [17.5 kB] 179s Get:198 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnvme1t64 armhf 1.8-3 [67.5 kB] 179s Get:199 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libplymouth5 armhf 24.004.60-1ubuntu5 [140 kB] 179s Get:200 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpng16-16t64 armhf 1.6.43-3 [166 kB] 179s Get:201 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-host armhf 1:9.18.24-0ubuntu3 [47.4 kB] 179s Get:202 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-dnsutils armhf 1:9.18.24-0ubuntu3 [149 kB] 179s Get:203 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-libs armhf 1:9.18.24-0ubuntu3 [1148 kB] 180s Get:204 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libuv1t64 armhf 1.48.0-1.1 [82.9 kB] 180s Get:205 http://ftpmaster.internal/ubuntu noble-proposed/main armhf uuid-runtime armhf 2.39.3-9ubuntu2 [41.7 kB] 180s Get:206 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdebconfclient0 armhf 0.271ubuntu2 [10.8 kB] 180s Get:207 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsemanage-common all 3.5-1build4 [10.1 kB] 180s Get:208 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsemanage2 armhf 3.5-1build4 [84.5 kB] 180s Get:209 http://ftpmaster.internal/ubuntu noble-proposed/main armhf install-info armhf 7.1-3build1 [60.5 kB] 180s Get:210 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gcc-13-base armhf 13.2.0-19ubuntu1 [47.7 kB] 180s Get:211 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libss2 armhf 1.47.0-2.4~exp1ubuntu2 [14.7 kB] 180s Get:212 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dmsetup armhf 2:1.02.185-3ubuntu2 [81.1 kB] 180s Get:213 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gir1.2-girepository-2.0 armhf 1.79.1-1ubuntu6 [24.8 kB] 180s Get:214 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gir1.2-glib-2.0 armhf 2.79.3-3ubuntu5 [182 kB] 180s Get:215 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgirepository-1.0-1 armhf 1.79.1-1ubuntu6 [106 kB] 180s Get:216 http://ftpmaster.internal/ubuntu noble-proposed/main armhf krb5-locales all 1.20.1-5.1build3 [13.8 kB] 180s Get:217 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbsd0 armhf 0.12.1-1 [36.6 kB] 180s Get:218 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libglib2.0-data all 2.79.3-3ubuntu5 [46.6 kB] 180s Get:219 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libslang2 armhf 2.3.3-3build1 [478 kB] 180s Get:220 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-gi armhf 3.47.0-3build1 [219 kB] 180s Get:221 http://ftpmaster.internal/ubuntu noble/main armhf xdg-user-dirs armhf 0.18-1 [17.3 kB] 180s Get:222 http://ftpmaster.internal/ubuntu noble-proposed/main armhf xxd armhf 2:9.1.0016-1ubuntu5 [62.4 kB] 180s Get:223 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apparmor armhf 4.0.0-beta3-0ubuntu2 [562 kB] 180s Get:224 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ftp all 20230507-2build1 [4724 B] 180s Get:225 http://ftpmaster.internal/ubuntu noble-proposed/main armhf inetutils-telnet armhf 2:2.5-3ubuntu3 [90.7 kB] 180s Get:226 http://ftpmaster.internal/ubuntu noble-proposed/main armhf info armhf 7.1-3build1 [127 kB] 180s Get:227 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxmuu1 armhf 2:1.1.3-3build1 [8004 B] 180s Get:228 http://ftpmaster.internal/ubuntu noble-proposed/main armhf lshw armhf 02.19.git.2021.06.19.996aaad9c7-2build2 [310 kB] 180s Get:229 http://ftpmaster.internal/ubuntu noble-proposed/main armhf mtr-tiny armhf 0.95-1.1build1 [51.7 kB] 180s Get:230 http://ftpmaster.internal/ubuntu noble-proposed/main armhf plymouth-theme-ubuntu-text armhf 24.004.60-1ubuntu5 [9826 B] 180s Get:231 http://ftpmaster.internal/ubuntu noble-proposed/main armhf plymouth armhf 24.004.60-1ubuntu5 [143 kB] 180s Get:232 http://ftpmaster.internal/ubuntu noble-proposed/main armhf psmisc armhf 23.7-1 [176 kB] 180s Get:233 http://ftpmaster.internal/ubuntu noble-proposed/main armhf telnet all 0.17+2.5-3ubuntu3 [3682 B] 180s Get:234 http://ftpmaster.internal/ubuntu noble-proposed/main armhf xz-utils armhf 5.6.0-0.2 [271 kB] 180s Get:235 http://ftpmaster.internal/ubuntu noble/main armhf ubuntu-standard armhf 1.536build1 [10.7 kB] 180s Get:236 http://ftpmaster.internal/ubuntu noble-proposed/main armhf usb.ids all 2024.03.18-1 [223 kB] 180s Get:237 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libctf-nobfd0 armhf 2.42-4ubuntu1 [88.0 kB] 180s Get:238 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libctf0 armhf 2.42-4ubuntu1 [87.7 kB] 180s Get:239 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils-arm-linux-gnueabihf armhf 2.42-4ubuntu1 [2925 kB] 180s Get:240 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbinutils armhf 2.42-4ubuntu1 [464 kB] 180s Get:241 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils armhf 2.42-4ubuntu1 [3078 B] 180s Get:242 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils-common armhf 2.42-4ubuntu1 [217 kB] 181s Get:243 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsframe1 armhf 2.42-4ubuntu1 [13.1 kB] 181s Get:244 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bolt armhf 0.9.6-2build1 [138 kB] 181s Get:245 http://ftpmaster.internal/ubuntu noble-proposed/main armhf cryptsetup-bin armhf 2:2.7.0-1ubuntu2 [214 kB] 181s Get:246 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dpkg-dev all 1.22.6ubuntu4 [1074 kB] 181s Get:247 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdpkg-perl all 1.22.6ubuntu4 [268 kB] 181s Get:248 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg-l10n all 2.4.4-2ubuntu15 [65.8 kB] 181s Get:249 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ibverbs-providers armhf 50.0-2build1 [27.4 kB] 181s Get:250 http://ftpmaster.internal/ubuntu noble-proposed/main armhf jq armhf 1.7.1-3 [65.2 kB] 181s Get:251 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjq1 armhf 1.7.1-3 [156 kB] 181s Get:252 http://ftpmaster.internal/ubuntu noble/main armhf libatm1t64 armhf 1:2.5.1-5.1 [20.0 kB] 181s Get:253 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-crypto3 armhf 3.1.0-1build1 [20.3 kB] 181s Get:254 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-loop3 armhf 3.1.0-1build1 [6502 B] 181s Get:255 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-mdraid3 armhf 3.1.0-1build1 [13.3 kB] 181s Get:256 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-part3 armhf 3.1.0-1build1 [16.4 kB] 181s Get:257 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-swap3 armhf 3.1.0-1build1 [8894 B] 181s Get:258 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev3 armhf 3.1.0-1build1 [42.9 kB] 181s Get:259 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libevent-core-2.1-7 armhf 2.1.12-stable-9build1 [82.3 kB] 181s Get:260 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libftdi1-2 armhf 1.5-6build4 [25.7 kB] 181s Get:261 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libldap-common all 2.6.7+dfsg-1~exp1ubuntu6 [31.3 kB] 181s Get:262 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-modules armhf 2.1.28+dfsg1-4ubuntu4 [61.4 kB] 181s Get:263 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-lib2to3 all 3.12.2-3ubuntu2 [79.3 kB] 181s Get:264 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-markupsafe armhf 2.1.5-1build1 [12.1 kB] 181s Get:265 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-pyrsistent armhf 0.20.0-1build1 [53.0 kB] 181s Get:266 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-typing-extensions all 4.10.0-1 [60.7 kB] 181s Get:267 http://ftpmaster.internal/ubuntu noble-proposed/main armhf kpartx armhf 0.9.4-5ubuntu5 [31.4 kB] 186s Preconfiguring packages ... 186s Fetched 106 MB in 14s (7758 kB/s) 187s (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 ... 58620 files and directories currently installed.) 187s Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu2_armhf.deb ... 187s Unpacking bsdutils (1:2.39.3-9ubuntu2) over (1:2.39.3-6ubuntu2) ... 187s Setting up bsdutils (1:2.39.3-9ubuntu2) ... 187s (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 ... 58620 files and directories currently installed.) 187s Preparing to unpack .../gcc-14-base_14-20240315-1ubuntu1_armhf.deb ... 187s Unpacking gcc-14-base:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 187s Setting up gcc-14-base:armhf (14-20240315-1ubuntu1) ... 187s (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 ... 58620 files and directories currently installed.) 187s Preparing to unpack .../libgcc-s1_14-20240315-1ubuntu1_armhf.deb ... 187s Unpacking libgcc-s1:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 187s Setting up libgcc-s1:armhf (14-20240315-1ubuntu1) ... 187s (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 ... 58620 files and directories currently installed.) 187s Preparing to unpack .../libstdc++6_14-20240315-1ubuntu1_armhf.deb ... 187s Unpacking libstdc++6:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 188s Setting up libstdc++6:armhf (14-20240315-1ubuntu1) ... 188s (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 ... 58620 files and directories currently installed.) 188s Preparing to unpack .../libc6_2.39-0ubuntu6_armhf.deb ... 188s Unpacking libc6:armhf (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 189s Setting up libc6:armhf (2.39-0ubuntu6) ... 190s (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 ... 58620 files and directories currently installed.) 190s Preparing to unpack .../openssl_3.0.13-0ubuntu2_armhf.deb ... 190s Unpacking openssl (3.0.13-0ubuntu2) over (3.0.10-1ubuntu4) ... 190s Preparing to unpack .../zlib1g_1%3a1.3.dfsg-3.1ubuntu1_armhf.deb ... 190s Unpacking zlib1g:armhf (1:1.3.dfsg-3.1ubuntu1) over (1:1.3.dfsg-3ubuntu1) ... 190s Setting up zlib1g:armhf (1:1.3.dfsg-3.1ubuntu1) ... 191s (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 ... 58620 files and directories currently installed.) 191s Preparing to unpack .../0-librtmp1_2.4+20151223.gitfa8646d.1-2build6_armhf.deb ... 191s Unpacking librtmp1:armhf (2.4+20151223.gitfa8646d.1-2build6) over (2.4+20151223.gitfa8646d.1-2build4) ... 191s Preparing to unpack .../1-python3.12_3.12.2-4build3_armhf.deb ... 191s Unpacking python3.12 (3.12.2-4build3) over (3.12.2-1) ... 191s Preparing to unpack .../2-libexpat1_2.6.1-2_armhf.deb ... 191s Unpacking libexpat1:armhf (2.6.1-2) over (2.6.0-1) ... 191s Preparing to unpack .../3-python3.12-minimal_3.12.2-4build3_armhf.deb ... 191s Unpacking python3.12-minimal (3.12.2-4build3) over (3.12.2-1) ... 191s Preparing to unpack .../4-libpython3.12-stdlib_3.12.2-4build3_armhf.deb ... 192s Unpacking libpython3.12-stdlib:armhf (3.12.2-4build3) over (3.12.2-1) ... 192s Preparing to unpack .../5-libpython3.12-minimal_3.12.2-4build3_armhf.deb ... 192s Unpacking libpython3.12-minimal:armhf (3.12.2-4build3) over (3.12.2-1) ... 193s Preparing to unpack .../6-parted_3.6-3.1build2_armhf.deb ... 193s Unpacking parted (3.6-3.1build2) over (3.6-3) ... 193s (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 ... 58618 files and directories currently installed.) 193s Removing libparted2:armhf (3.6-3) ... 193s (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 ... 58612 files and directories currently installed.) 193s Preparing to unpack .../libblkid1_2.39.3-9ubuntu2_armhf.deb ... 193s Unpacking libblkid1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 193s Setting up libblkid1:armhf (2.39.3-9ubuntu2) ... 194s (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 ... 58612 files and directories currently installed.) 194s Preparing to unpack .../libselinux1_3.5-2ubuntu1_armhf.deb ... 194s Unpacking libselinux1:armhf (3.5-2ubuntu1) over (3.5-2build1) ... 194s Setting up libselinux1:armhf (3.5-2ubuntu1) ... 194s (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 ... 58612 files and directories currently installed.) 194s Preparing to unpack .../systemd-dev_255.4-1ubuntu5_all.deb ... 194s Unpacking systemd-dev (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 194s Preparing to unpack .../systemd-timesyncd_255.4-1ubuntu5_armhf.deb ... 194s Unpacking systemd-timesyncd (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 194s Preparing to unpack .../dbus-session-bus-common_1.14.10-4ubuntu2_all.deb ... 194s Unpacking dbus-session-bus-common (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 194s Preparing to unpack .../libaudit-common_1%3a3.1.2-2.1_all.deb ... 194s Unpacking libaudit-common (1:3.1.2-2.1) over (1:3.1.2-2) ... 194s Setting up libaudit-common (1:3.1.2-2.1) ... 194s (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 ... 58612 files and directories currently installed.) 194s Preparing to unpack .../libcap-ng0_0.8.4-2build1_armhf.deb ... 194s Unpacking libcap-ng0:armhf (0.8.4-2build1) over (0.8.4-2) ... 194s Setting up libcap-ng0:armhf (0.8.4-2build1) ... 195s (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 ... 58612 files and directories currently installed.) 195s Preparing to unpack .../libaudit1_1%3a3.1.2-2.1_armhf.deb ... 195s Unpacking libaudit1:armhf (1:3.1.2-2.1) over (1:3.1.2-2) ... 195s Setting up libaudit1:armhf (1:3.1.2-2.1) ... 195s (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 ... 58612 files and directories currently installed.) 195s Preparing to unpack .../libpam0g_1.5.3-5ubuntu3_armhf.deb ... 195s Unpacking libpam0g:armhf (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 195s Setting up libpam0g:armhf (1.5.3-5ubuntu3) ... 196s (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 ... 58612 files and directories currently installed.) 196s Preparing to unpack .../liblzma5_5.6.0-0.2_armhf.deb ... 196s Unpacking liblzma5:armhf (5.6.0-0.2) over (5.4.5-0.3) ... 196s Setting up liblzma5:armhf (5.6.0-0.2) ... 196s (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 ... 58612 files and directories currently installed.) 196s Preparing to unpack .../libldap2_2.6.7+dfsg-1~exp1ubuntu6_armhf.deb ... 196s Unpacking libldap2:armhf (2.6.7+dfsg-1~exp1ubuntu6) over (2.6.7+dfsg-1~exp1ubuntu1) ... 196s (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 ... 58612 files and directories currently installed.) 196s Removing udisks2 (2.10.1-1ubuntu2) ... 197s dpkg: libglib2.0-0:armhf: dependency problems, but removing anyway as you requested: 197s shared-mime-info depends on libglib2.0-0 (>= 2.75.3). 197s python3-gi depends on libglib2.0-0 (>= 2.77.0). 197s python3-dbus depends on libglib2.0-0 (>= 2.16.0). 197s netplan.io depends on libglib2.0-0 (>= 2.70.0). 197s netplan-generator depends on libglib2.0-0 (>= 2.70.0). 197s libxmlb2:armhf depends on libglib2.0-0 (>= 2.54.0). 197s libvolume-key1:armhf depends on libglib2.0-0 (>= 2.18.0). 197s libudisks2-0:armhf depends on libglib2.0-0 (>= 2.75.3). 197s libqrtr-glib0:armhf depends on libglib2.0-0 (>= 2.56). 197s libqmi-proxy depends on libglib2.0-0 (>= 2.30.0). 197s libqmi-glib5:armhf depends on libglib2.0-0 (>= 2.54.0). 197s libpolkit-gobject-1-0:armhf depends on libglib2.0-0 (>= 2.38.0). 197s libpolkit-agent-1-0:armhf depends on libglib2.0-0 (>= 2.38.0). 197s libnetplan0:armhf depends on libglib2.0-0 (>= 2.75.3). 197s libmm-glib0:armhf depends on libglib2.0-0 (>= 2.62.0). 197s libmbim-proxy depends on libglib2.0-0 (>= 2.56). 197s libmbim-glib4:armhf depends on libglib2.0-0 (>= 2.56). 197s libjson-glib-1.0-0:armhf depends on libglib2.0-0 (>= 2.75.3). 197s libjcat1:armhf depends on libglib2.0-0 (>= 2.75.3). 197s libgusb2:armhf depends on libglib2.0-0 (>= 2.75.3). 197s libgudev-1.0-0:armhf depends on libglib2.0-0 (>= 2.38.0). 197s libgirepository-1.0-1:armhf depends on libglib2.0-0 (>= 2.79.0). 197s libfwupd2:armhf depends on libglib2.0-0 (>= 2.79.0). 197s libblockdev3:armhf depends on libglib2.0-0 (>= 2.42.2). 197s libblockdev-utils3:armhf depends on libglib2.0-0 (>= 2.75.3). 197s libblockdev-swap3:armhf depends on libglib2.0-0 (>= 2.42.2). 197s libblockdev-part3:armhf depends on libglib2.0-0 (>= 2.42.2). 197s libblockdev-nvme3:armhf depends on libglib2.0-0 (>= 2.42.2). 197s libblockdev-mdraid3:armhf depends on libglib2.0-0 (>= 2.42.2). 197s libblockdev-loop3:armhf depends on libglib2.0-0 (>= 2.42.2). 197s libblockdev-fs3:armhf depends on libglib2.0-0 (>= 2.42.2). 197s libblockdev-crypto3:armhf depends on libglib2.0-0 (>= 2.42.2). 197s gir1.2-glib-2.0:armhf depends on libglib2.0-0 (= 2.79.2-1~ubuntu1). 197s fwupd depends on libglib2.0-0 (>= 2.79.0). 197s bolt depends on libglib2.0-0 (>= 2.56.0). 197s 197s Removing libglib2.0-0:armhf (2.79.2-1~ubuntu1) ... 197s Selecting previously unselected package libglib2.0-0t64:armhf. 197s (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 ... 58560 files and directories currently installed.) 197s Preparing to unpack .../libglib2.0-0t64_2.79.3-3ubuntu5_armhf.deb ... 197s libglib2.0-0t64.preinst: Removing /var/lib/dpkg/info/libglib2.0-0:armhf.postrm to avoid loss of /usr/share/glib-2.0/schemas/gschemas.compiled... 197s removed '/var/lib/dpkg/info/libglib2.0-0:armhf.postrm' 197s Unpacking libglib2.0-0t64:armhf (2.79.3-3ubuntu5) ... 197s Preparing to unpack .../libvolume-key1_0.3.12-7build1_armhf.deb ... 197s Unpacking libvolume-key1:armhf (0.3.12-7build1) over (0.3.12-5build2) ... 197s dpkg: libgpgme11:armhf: dependency problems, but removing anyway as you requested: 197s libjcat1:armhf depends on libgpgme11 (>= 1.2.0). 197s 198s (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 ... 58585 files and directories currently installed.) 198s Removing libgpgme11:armhf (1.18.0-4ubuntu1) ... 198s Selecting previously unselected package libgpgme11t64:armhf. 198s (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 ... 58579 files and directories currently installed.) 198s Preparing to unpack .../libgpgme11t64_1.18.0-4.1ubuntu3_armhf.deb ... 198s Unpacking libgpgme11t64:armhf (1.18.0-4.1ubuntu3) ... 198s Preparing to unpack .../libjcat1_0.2.0-2build2_armhf.deb ... 198s Unpacking libjcat1:armhf (0.2.0-2build2) over (0.2.0-2) ... 198s dpkg: libarchive13:armhf: dependency problems, but removing anyway as you requested: 198s fwupd depends on libarchive13 (>= 3.2.1). 198s 198s (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 ... 58586 files and directories currently installed.) 198s Removing libarchive13:armhf (3.7.2-1ubuntu2) ... 198s Selecting previously unselected package libarchive13t64:armhf. 198s (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 ... 58580 files and directories currently installed.) 198s Preparing to unpack .../00-libarchive13t64_3.7.2-1.1ubuntu1_armhf.deb ... 198s Unpacking libarchive13t64:armhf (3.7.2-1.1ubuntu1) ... 198s Preparing to unpack .../01-fwupd_1.9.15-1_armhf.deb ... 199s Unpacking fwupd (1.9.15-1) over (1.9.14-1) ... 199s Preparing to unpack .../02-ubuntu-pro-client-l10n_31.2_armhf.deb ... 199s Unpacking ubuntu-pro-client-l10n (31.2) over (31.1) ... 199s Preparing to unpack .../03-ubuntu-pro-client_31.2_armhf.deb ... 201s Unpacking ubuntu-pro-client (31.2) over (31.1) ... 201s Preparing to unpack .../04-python3.11_3.11.8-1build4_armhf.deb ... 201s Unpacking python3.11 (3.11.8-1build4) over (3.11.8-1) ... 201s Preparing to unpack .../05-python3.11-minimal_3.11.8-1build4_armhf.deb ... 201s Unpacking python3.11-minimal (3.11.8-1build4) over (3.11.8-1) ... 202s Preparing to unpack .../06-libpython3.11-minimal_3.11.8-1build4_armhf.deb ... 202s Unpacking libpython3.11-minimal:armhf (3.11.8-1build4) over (3.11.8-1) ... 202s Preparing to unpack .../07-libsasl2-modules-db_2.1.28+dfsg1-4ubuntu4_armhf.deb ... 202s Unpacking libsasl2-modules-db:armhf (2.1.28+dfsg1-4ubuntu4) over (2.1.28+dfsg1-4) ... 202s Preparing to unpack .../08-libtext-iconv-perl_1.7-8build2_armhf.deb ... 202s Unpacking libtext-iconv-perl:armhf (1.7-8build2) over (1.7-8build1) ... 203s Preparing to unpack .../09-libtext-charwidth-perl_0.04-11build2_armhf.deb ... 203s Unpacking libtext-charwidth-perl:armhf (0.04-11build2) over (0.04-11build1) ... 203s Preparing to unpack .../10-perl-base_5.38.2-3.2_armhf.deb ... 203s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 203s Setting up perl-base (5.38.2-3.2) ... 204s (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 ... 58587 files and directories currently installed.) 204s Preparing to unpack .../liblocale-gettext-perl_1.07-6ubuntu3_armhf.deb ... 204s Unpacking liblocale-gettext-perl (1.07-6ubuntu3) over (1.07-6build1) ... 204s Preparing to unpack .../perl-modules-5.38_5.38.2-3.2_all.deb ... 204s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 205s Preparing to unpack .../python3-gdbm_3.12.2-3ubuntu2_armhf.deb ... 205s Unpacking python3-gdbm:armhf (3.12.2-3ubuntu2) over (3.11.5-1) ... 205s Preparing to unpack .../man-db_2.12.0-3build4_armhf.deb ... 205s Unpacking man-db (2.12.0-3build4) over (2.12.0-3) ... 206s dpkg: libgdbm-compat4:armhf: dependency problems, but removing anyway as you requested: 206s libperl5.38:armhf depends on libgdbm-compat4 (>= 1.18-3). 206s 206s (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 ... 58587 files and directories currently installed.) 206s Removing libgdbm-compat4:armhf (1.23-5) ... 206s dpkg: libgdbm6:armhf: dependency problems, but removing anyway as you requested: 206s libperl5.38:armhf depends on libgdbm6 (>= 1.21). 206s 206s Removing libgdbm6:armhf (1.23-5) ... 206s Selecting previously unselected package libgdbm6t64:armhf. 206s (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 ... 58577 files and directories currently installed.) 206s Preparing to unpack .../libgdbm6t64_1.23-5.1_armhf.deb ... 206s Unpacking libgdbm6t64:armhf (1.23-5.1) ... 206s Selecting previously unselected package libgdbm-compat4t64:armhf. 206s Preparing to unpack .../libgdbm-compat4t64_1.23-5.1_armhf.deb ... 206s Unpacking libgdbm-compat4t64:armhf (1.23-5.1) ... 206s dpkg: libperl5.38:armhf: dependency problems, but removing anyway as you requested: 206s perl depends on libperl5.38 (= 5.38.2-3). 206s 206s (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 ... 58589 files and directories currently installed.) 206s Removing libperl5.38:armhf (5.38.2-3) ... 206s Selecting previously unselected package libperl5.38t64:armhf. 207s (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 ... 58070 files and directories currently installed.) 207s Preparing to unpack .../libperl5.38t64_5.38.2-3.2_armhf.deb ... 207s Unpacking libperl5.38t64:armhf (5.38.2-3.2) ... 207s Preparing to unpack .../perl_5.38.2-3.2_armhf.deb ... 207s Unpacking perl (5.38.2-3.2) over (5.38.2-3) ... 208s dpkg: libdb5.3:armhf: dependency problems, but removing anyway as you requested: 208s libpython3.11-stdlib:armhf depends on libdb5.3. 208s libpam-modules:armhf depends on libdb5.3. 208s iproute2 depends on libdb5.3. 208s apt-utils depends on libdb5.3. 208s 208s (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 ... 58589 files and directories currently installed.) 208s Removing libdb5.3:armhf (5.3.28+dfsg2-4) ... 208s Selecting previously unselected package libdb5.3t64:armhf. 208s (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 ... 58583 files and directories currently installed.) 208s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-5build1_armhf.deb ... 208s Unpacking libdb5.3t64:armhf (5.3.28+dfsg2-5build1) ... 208s Preparing to unpack .../libpython3.11-stdlib_3.11.8-1build4_armhf.deb ... 208s Unpacking libpython3.11-stdlib:armhf (3.11.8-1build4) over (3.11.8-1) ... 209s Preparing to unpack .../keyboxd_2.4.4-2ubuntu15_armhf.deb ... 209s Unpacking keyboxd (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 209s dpkg: libnpth0:armhf: dependency problems, but removing anyway as you requested: 209s gpgv depends on libnpth0 (>= 0.90). 209s gpgsm depends on libnpth0 (>= 0.90). 209s gpg-agent depends on libnpth0 (>= 0.90). 209s gpg depends on libnpth0 (>= 0.90). 209s dirmngr depends on libnpth0 (>= 0.90). 209s 209s (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 ... 58587 files and directories currently installed.) 209s Removing libnpth0:armhf (1.6-3build2) ... 209s Selecting previously unselected package libnpth0t64:armhf. 209s (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 ... 58582 files and directories currently installed.) 209s Preparing to unpack .../libnpth0t64_1.6-3.1_armhf.deb ... 209s Unpacking libnpth0t64:armhf (1.6-3.1) ... 209s Setting up libnpth0t64:armhf (1.6-3.1) ... 209s (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 ... 58588 files and directories currently installed.) 209s Preparing to unpack .../gpgv_2.4.4-2ubuntu15_armhf.deb ... 209s Unpacking gpgv (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 209s Setting up gpgv (2.4.4-2ubuntu15) ... 209s (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 ... 58588 files and directories currently installed.) 210s Preparing to unpack .../gpg_2.4.4-2ubuntu15_armhf.deb ... 210s Unpacking gpg (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 210s Preparing to unpack .../gpg-wks-client_2.4.4-2ubuntu15_armhf.deb ... 210s Unpacking gpg-wks-client (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 210s Preparing to unpack .../gnupg-utils_2.4.4-2ubuntu15_armhf.deb ... 210s Unpacking gnupg-utils (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 210s Preparing to unpack .../gpg-agent_2.4.4-2ubuntu15_armhf.deb ... 210s Unpacking gpg-agent (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 210s Preparing to unpack .../gpgsm_2.4.4-2ubuntu15_armhf.deb ... 210s Unpacking gpgsm (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 210s dpkg: libreadline8:armhf: dependency problems, but removing anyway as you requested: 210s gpgconf depends on libreadline8 (>= 6.0). 210s gawk depends on libreadline8 (>= 6.0). 210s fdisk depends on libreadline8 (>= 6.0). 210s 210s (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 ... 58588 files and directories currently installed.) 210s Removing libreadline8:armhf (8.2-3) ... 210s Selecting previously unselected package libreadline8t64:armhf. 210s (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 ... 58576 files and directories currently installed.) 210s Preparing to unpack .../libreadline8t64_8.2-3.1_armhf.deb ... 210s Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64' 210s Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64' 210s Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64' 210s Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64' 210s Unpacking libreadline8t64:armhf (8.2-3.1) ... 210s Setting up libreadline8t64:armhf (8.2-3.1) ... 211s (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 ... 58596 files and directories currently installed.) 211s Preparing to unpack .../0-gawk_1%3a5.2.1-2build2_armhf.deb ... 211s Unpacking gawk (1:5.2.1-2build2) over (1:5.2.1-2) ... 211s Preparing to unpack .../1-fdisk_2.39.3-9ubuntu2_armhf.deb ... 211s Unpacking fdisk (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 211s Preparing to unpack .../2-gpgconf_2.4.4-2ubuntu15_armhf.deb ... 211s Unpacking gpgconf (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 211s Preparing to unpack .../3-dirmngr_2.4.4-2ubuntu15_armhf.deb ... 211s Unpacking dirmngr (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 211s Preparing to unpack .../4-gnupg_2.4.4-2ubuntu15_all.deb ... 211s Unpacking gnupg (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 211s Preparing to unpack .../5-python3-apt_2.7.6build1_armhf.deb ... 212s Unpacking python3-apt (2.7.6build1) over (2.7.6) ... 212s Preparing to unpack .../6-apt-utils_2.7.13ubuntu1_armhf.deb ... 212s Unpacking apt-utils (2.7.13ubuntu1) over (2.7.12) ... 212s dpkg: libapt-pkg6.0:armhf: dependency problems, but removing anyway as you requested: 212s apt depends on libapt-pkg6.0 (>= 2.7.12). 212s 212s (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 ... 58594 files and directories currently installed.) 212s Removing libapt-pkg6.0:armhf (2.7.12) ... 212s dpkg: libnettle8:armhf: dependency problems, but removing anyway as you requested: 212s libhogweed6:armhf depends on libnettle8. 212s libgnutls30:armhf depends on libnettle8 (>= 3.9~). 212s libcurl3-gnutls:armhf depends on libnettle8. 212s 212s Removing libnettle8:armhf (3.9.1-2) ... 212s Selecting previously unselected package libapt-pkg6.0t64:armhf. 212s (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 ... 58538 files and directories currently installed.) 212s Preparing to unpack .../libapt-pkg6.0t64_2.7.13ubuntu1_armhf.deb ... 212s Unpacking libapt-pkg6.0t64:armhf (2.7.13ubuntu1) ... 212s Setting up libapt-pkg6.0t64:armhf (2.7.13ubuntu1) ... 212s Selecting previously unselected package libnettle8t64:armhf. 213s (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 ... 58588 files and directories currently installed.) 213s Preparing to unpack .../libnettle8t64_3.9.1-2.2_armhf.deb ... 213s Unpacking libnettle8t64:armhf (3.9.1-2.2) ... 213s Setting up libnettle8t64:armhf (3.9.1-2.2) ... 213s dpkg: libhogweed6:armhf: dependency problems, but removing anyway as you requested: 213s libgnutls30:armhf depends on libhogweed6 (>= 3.6). 213s 213s (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 ... 58596 files and directories currently installed.) 213s Removing libhogweed6:armhf (3.9.1-2) ... 213s Selecting previously unselected package libhogweed6t64:armhf. 213s (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 ... 58591 files and directories currently installed.) 213s Preparing to unpack .../libhogweed6t64_3.9.1-2.2_armhf.deb ... 213s Unpacking libhogweed6t64:armhf (3.9.1-2.2) ... 213s Setting up libhogweed6t64:armhf (3.9.1-2.2) ... 213s dpkg: libgnutls30:armhf: dependency problems, but removing anyway as you requested: 213s libcurl3-gnutls:armhf depends on libgnutls30 (>= 3.8.2). 213s apt depends on libgnutls30 (>= 3.8.1). 213s 213s (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 ... 58597 files and directories currently installed.) 213s Removing libgnutls30:armhf (3.8.3-1ubuntu1) ... 213s Selecting previously unselected package libgnutls30t64:armhf. 213s (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 ... 58588 files and directories currently installed.) 213s Preparing to unpack .../libgnutls30t64_3.8.3-1.1ubuntu2_armhf.deb ... 213s Unpacking libgnutls30t64:armhf (3.8.3-1.1ubuntu2) ... 213s Setting up libgnutls30t64:armhf (3.8.3-1.1ubuntu2) ... 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 ... 58616 files and directories currently installed.) 214s Preparing to unpack .../apt_2.7.13ubuntu1_armhf.deb ... 214s Unpacking apt (2.7.13ubuntu1) over (2.7.12) ... 214s Setting up apt (2.7.13ubuntu1) ... 216s dpkg: libcurl3-gnutls:armhf: dependency problems, but removing anyway as you requested: 216s libfwupd2:armhf depends on libcurl3-gnutls (>= 7.63.0). 216s 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 ... 58616 files and directories currently installed.) 216s Removing libcurl3-gnutls:armhf (8.5.0-2ubuntu2) ... 216s Selecting previously unselected package libcurl3t64-gnutls:armhf. 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 ... 58609 files and directories currently installed.) 216s Preparing to unpack .../libcurl3t64-gnutls_8.5.0-2ubuntu7_armhf.deb ... 216s Unpacking libcurl3t64-gnutls:armhf (8.5.0-2ubuntu7) ... 216s Preparing to unpack .../libfwupd2_1.9.15-1_armhf.deb ... 216s Unpacking libfwupd2:armhf (1.9.15-1) over (1.9.14-1) ... 217s dpkg: libpsl5:armhf: dependency problems, but removing anyway as you requested: 217s wget depends on libpsl5 (>= 0.16.0). 217s libcurl4:armhf depends on libpsl5 (>= 0.16.0). 217s 217s (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 ... 58616 files and directories currently installed.) 217s Removing libpsl5:armhf (0.21.2-1build1) ... 217s Selecting previously unselected package libpsl5t64:armhf. 217s (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 ... 58611 files and directories currently installed.) 217s Preparing to unpack .../libpsl5t64_0.21.2-1.1_armhf.deb ... 217s Unpacking libpsl5t64:armhf (0.21.2-1.1) ... 217s Preparing to unpack .../wget_1.21.4-1ubuntu2_armhf.deb ... 217s Unpacking wget (1.21.4-1ubuntu2) over (1.21.4-1ubuntu1) ... 217s Preparing to unpack .../tnftp_20230507-2build1_armhf.deb ... 217s Unpacking tnftp (20230507-2build1) over (20230507-2) ... 217s dpkg: libpcap0.8:armhf: dependency problems, but removing anyway as you requested: 217s tcpdump depends on libpcap0.8 (>= 1.9.1). 217s 217s (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 ... 58617 files and directories currently installed.) 217s Removing libpcap0.8:armhf (1.10.4-4ubuntu3) ... 217s Selecting previously unselected package libpcap0.8t64:armhf. 217s (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 ... 58606 files and directories currently installed.) 217s Preparing to unpack .../00-libpcap0.8t64_1.10.4-4.1ubuntu1_armhf.deb ... 217s Unpacking libpcap0.8t64:armhf (1.10.4-4.1ubuntu1) ... 218s Preparing to unpack .../01-tcpdump_4.99.4-3ubuntu2_armhf.deb ... 218s Unpacking tcpdump (4.99.4-3ubuntu2) over (4.99.4-3ubuntu1) ... 218s Preparing to unpack .../02-libsystemd-shared_255.4-1ubuntu5_armhf.deb ... 218s Unpacking libsystemd-shared:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 218s Preparing to unpack .../03-systemd-resolved_255.4-1ubuntu5_armhf.deb ... 218s Unpacking systemd-resolved (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 218s Preparing to unpack .../04-sudo_1.9.15p5-3ubuntu3_armhf.deb ... 218s Unpacking sudo (1.9.15p5-3ubuntu3) over (1.9.15p5-3ubuntu1) ... 218s Preparing to unpack .../05-rsync_3.2.7-1build1_armhf.deb ... 218s Unpacking rsync (3.2.7-1build1) over (3.2.7-1) ... 218s Preparing to unpack .../06-python3-cryptography_41.0.7-4build2_armhf.deb ... 219s Unpacking python3-cryptography (41.0.7-4build2) over (41.0.7-3) ... 219s Preparing to unpack .../07-openssh-sftp-server_1%3a9.6p1-3ubuntu11_armhf.deb ... 219s Unpacking openssh-sftp-server (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 219s Preparing to unpack .../08-openssh-client_1%3a9.6p1-3ubuntu11_armhf.deb ... 219s Unpacking openssh-client (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 219s Preparing to unpack .../09-openssh-server_1%3a9.6p1-3ubuntu11_armhf.deb ... 220s Unpacking openssh-server (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 220s Selecting previously unselected package linux-headers-6.8.0-20. 220s Preparing to unpack .../10-linux-headers-6.8.0-20_6.8.0-20.20_all.deb ... 220s Unpacking linux-headers-6.8.0-20 (6.8.0-20.20) ... 231s Selecting previously unselected package linux-headers-6.8.0-20-generic. 231s Preparing to unpack .../11-linux-headers-6.8.0-20-generic_6.8.0-20.20_armhf.deb ... 231s Unpacking linux-headers-6.8.0-20-generic (6.8.0-20.20) ... 237s Preparing to unpack .../12-linux-headers-generic_6.8.0-20.20+1_armhf.deb ... 238s Unpacking linux-headers-generic (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 238s (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 ... 89769 files and directories currently installed.) 238s Removing linux-headers-6.8.0-11-generic (6.8.0-11.11) ... 239s dpkg: libssl3:armhf: dependency problems, but removing anyway as you requested: 239s systemd depends on libssl3 (>= 3.0.0). 239s libssh-4:armhf depends on libssl3 (>= 3.0.0). 239s libsasl2-modules:armhf depends on libssl3 (>= 3.0.0). 239s libsasl2-2:armhf depends on libssl3 (>= 3.0.0). 239s libnvme1 depends on libssl3 (>= 3.0.0). 239s libkrb5-3:armhf depends on libssl3 (>= 3.0.0). 239s libkmod2:armhf depends on libssl3 (>= 3.0.0). 239s libfido2-1:armhf depends on libssl3 (>= 3.0.0). 239s libcurl4:armhf depends on libssl3 (>= 3.0.0). 239s libcryptsetup12:armhf depends on libssl3 (>= 3.0.0). 239s kmod depends on libssl3 (>= 3.0.0). 239s dhcpcd-base depends on libssl3 (>= 3.0.0). 239s bind9-libs:armhf depends on libssl3 (>= 3.0.0). 239s 239s Removing libssl3:armhf (3.0.10-1ubuntu4) ... 239s Selecting previously unselected package libssl3t64:armhf. 240s (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 ... 78619 files and directories currently installed.) 240s Preparing to unpack .../libssl3t64_3.0.13-0ubuntu2_armhf.deb ... 240s Unpacking libssl3t64:armhf (3.0.13-0ubuntu2) ... 240s Setting up libssl3t64:armhf (3.0.13-0ubuntu2) ... 240s (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 ... 78632 files and directories currently installed.) 240s Preparing to unpack .../libudev1_255.4-1ubuntu5_armhf.deb ... 240s Unpacking libudev1:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 240s Setting up libudev1:armhf (255.4-1ubuntu5) ... 240s (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 ... 78632 files and directories currently installed.) 240s Preparing to unpack .../systemd_255.4-1ubuntu5_armhf.deb ... 240s Unpacking systemd (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 241s Preparing to unpack .../udev_255.4-1ubuntu5_armhf.deb ... 241s Unpacking udev (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 242s Preparing to unpack .../libsystemd0_255.4-1ubuntu5_armhf.deb ... 242s Unpacking libsystemd0:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 242s Setting up libsystemd0:armhf (255.4-1ubuntu5) ... 242s Setting up libsystemd-shared:armhf (255.4-1ubuntu5) ... 242s Setting up systemd-dev (255.4-1ubuntu5) ... 242s Setting up systemd (255.4-1ubuntu5) ... 243s (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 ... 78632 files and directories currently installed.) 243s Preparing to unpack .../systemd-sysv_255.4-1ubuntu5_armhf.deb ... 243s Unpacking systemd-sysv (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 244s Preparing to unpack .../libnss-systemd_255.4-1ubuntu5_armhf.deb ... 244s Unpacking libnss-systemd:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 244s Preparing to unpack .../libpam-systemd_255.4-1ubuntu5_armhf.deb ... 244s Unpacking libpam-systemd:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 244s Preparing to unpack .../libpam-modules-bin_1.5.3-5ubuntu3_armhf.deb ... 244s Unpacking libpam-modules-bin (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 244s Setting up libpam-modules-bin (1.5.3-5ubuntu3) ... 245s pam_namespace.service is a disabled or a static unit not running, not starting it. 245s (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 ... 78632 files and directories currently installed.) 245s Preparing to unpack .../libpam-modules_1.5.3-5ubuntu3_armhf.deb ... 245s Unpacking libpam-modules:armhf (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 246s Setting up libpam-modules:armhf (1.5.3-5ubuntu3) ... 246s Installing new version of config file /etc/security/namespace.init ... 246s (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 ... 78630 files and directories currently installed.) 246s Preparing to unpack .../libpam-runtime_1.5.3-5ubuntu3_all.deb ... 246s Unpacking libpam-runtime (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 246s Setting up libpam-runtime (1.5.3-5ubuntu3) ... 247s (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 ... 78630 files and directories currently installed.) 247s Preparing to unpack .../0-dbus-user-session_1.14.10-4ubuntu2_armhf.deb ... 247s Unpacking dbus-user-session (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 247s Preparing to unpack .../1-libapparmor1_4.0.0-beta3-0ubuntu2_armhf.deb ... 247s Unpacking libapparmor1:armhf (4.0.0-beta3-0ubuntu2) over (4.0.0~alpha4-0ubuntu1) ... 247s Preparing to unpack .../2-dbus-bin_1.14.10-4ubuntu2_armhf.deb ... 247s Unpacking dbus-bin (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 247s Preparing to unpack .../3-dbus-system-bus-common_1.14.10-4ubuntu2_all.deb ... 247s Unpacking dbus-system-bus-common (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 247s Preparing to unpack .../4-dbus_1.14.10-4ubuntu2_armhf.deb ... 247s Unpacking dbus (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 247s Preparing to unpack .../5-dbus-daemon_1.14.10-4ubuntu2_armhf.deb ... 247s Unpacking dbus-daemon (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 247s Preparing to unpack .../6-libdbus-1-3_1.14.10-4ubuntu2_armhf.deb ... 247s Unpacking libdbus-1-3:armhf (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 247s Preparing to unpack .../7-kmod_31+20240202-2ubuntu4_armhf.deb ... 247s Unpacking kmod (31+20240202-2ubuntu4) over (30+20230601-2ubuntu1) ... 247s dpkg: warning: unable to delete old directory '/lib/modprobe.d': Directory not empty 247s Preparing to unpack .../8-libkmod2_31+20240202-2ubuntu4_armhf.deb ... 247s Unpacking libkmod2:armhf (31+20240202-2ubuntu4) over (30+20230601-2ubuntu1) ... 248s Preparing to unpack .../9-libmount1_2.39.3-9ubuntu2_armhf.deb ... 248s Unpacking libmount1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 248s Setting up libmount1:armhf (2.39.3-9ubuntu2) ... 248s (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 ... 78629 files and directories currently installed.) 248s Preparing to unpack .../libseccomp2_2.5.5-1ubuntu2_armhf.deb ... 248s Unpacking libseccomp2:armhf (2.5.5-1ubuntu2) over (2.5.5-1ubuntu1) ... 248s Setting up libseccomp2:armhf (2.5.5-1ubuntu2) ... 248s (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 ... 78629 files and directories currently installed.) 248s Preparing to unpack .../libuuid1_2.39.3-9ubuntu2_armhf.deb ... 248s Unpacking libuuid1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 248s Setting up libuuid1:armhf (2.39.3-9ubuntu2) ... 248s (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 ... 78629 files and directories currently installed.) 248s Preparing to unpack .../0-libcryptsetup12_2%3a2.7.0-1ubuntu2_armhf.deb ... 248s Unpacking libcryptsetup12:armhf (2:2.7.0-1ubuntu2) over (2:2.7.0-1ubuntu1) ... 249s Preparing to unpack .../1-libfdisk1_2.39.3-9ubuntu2_armhf.deb ... 249s Unpacking libfdisk1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 249s Preparing to unpack .../2-mount_2.39.3-9ubuntu2_armhf.deb ... 249s Unpacking mount (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 249s Preparing to unpack .../3-libdevmapper1.02.1_2%3a1.02.185-3ubuntu2_armhf.deb ... 249s Unpacking libdevmapper1.02.1:armhf (2:1.02.185-3ubuntu2) over (2:1.02.185-3ubuntu1) ... 249s Selecting previously unselected package libparted2t64:armhf. 249s Preparing to unpack .../4-libparted2t64_3.6-3.1build2_armhf.deb ... 249s Unpacking libparted2t64:armhf (3.6-3.1build2) ... 249s Preparing to unpack .../5-libsqlite3-0_3.45.1-1ubuntu1_armhf.deb ... 249s Unpacking libsqlite3-0:armhf (3.45.1-1ubuntu1) over (3.45.1-1) ... 249s Preparing to unpack .../6-pinentry-curses_1.2.1-3ubuntu4_armhf.deb ... 249s Unpacking pinentry-curses (1.2.1-3ubuntu4) over (1.2.1-3ubuntu1) ... 249s Preparing to unpack .../7-libsmartcols1_2.39.3-9ubuntu2_armhf.deb ... 249s Unpacking libsmartcols1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 249s Setting up libsmartcols1:armhf (2.39.3-9ubuntu2) ... 249s (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 ... 78636 files and directories currently installed.) 249s Preparing to unpack .../0-readline-common_8.2-3.1_all.deb ... 249s Unpacking readline-common (8.2-3.1) over (8.2-3) ... 250s Preparing to unpack .../1-python3-yaml_6.0.1-2build1_armhf.deb ... 250s Unpacking python3-yaml (6.0.1-2build1) over (6.0.1-2) ... 250s Preparing to unpack .../2-python-apt-common_2.7.6build1_all.deb ... 250s Unpacking python-apt-common (2.7.6build1) over (2.7.6) ... 250s Preparing to unpack .../3-python3-setuptools_68.1.2-2ubuntu1_all.deb ... 250s Unpacking python3-setuptools (68.1.2-2ubuntu1) over (68.1.2-2) ... 251s Preparing to unpack .../4-python3-pkg-resources_68.1.2-2ubuntu1_all.deb ... 251s Unpacking python3-pkg-resources (68.1.2-2ubuntu1) over (68.1.2-2) ... 251s Preparing to unpack .../5-dpkg_1.22.6ubuntu4_armhf.deb ... 251s Unpacking dpkg (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 252s Setting up dpkg (1.22.6ubuntu4) ... 253s Setting up libpython3.12-minimal:armhf (3.12.2-4build3) ... 253s Setting up libexpat1:armhf (2.6.1-2) ... 253s Setting up python3.12-minimal (3.12.2-4build3) ... 256s (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 ... 78635 files and directories currently installed.) 256s Preparing to unpack .../python3-minimal_3.12.2-0ubuntu1_armhf.deb ... 256s Unpacking python3-minimal (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 257s Setting up python3-minimal (3.12.2-0ubuntu1) ... 257s (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 ... 78635 files and directories currently installed.) 257s Preparing to unpack .../00-python3_3.12.2-0ubuntu1_armhf.deb ... 257s Unpacking python3 (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 258s Preparing to unpack .../01-libpython3-stdlib_3.12.2-0ubuntu1_armhf.deb ... 258s Unpacking libpython3-stdlib:armhf (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 258s Preparing to unpack .../02-bsdextrautils_2.39.3-9ubuntu2_armhf.deb ... 258s Unpacking bsdextrautils (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 258s Preparing to unpack .../03-groff-base_1.23.0-3build1_armhf.deb ... 258s Unpacking groff-base (1.23.0-3build1) over (1.23.0-3) ... 258s Preparing to unpack .../04-libsasl2-2_2.1.28+dfsg1-4ubuntu4_armhf.deb ... 258s Unpacking libsasl2-2:armhf (2.1.28+dfsg1-4ubuntu4) over (2.1.28+dfsg1-4) ... 258s Preparing to unpack .../05-libjson-glib-1.0-common_1.8.0-2build1_all.deb ... 258s Unpacking libjson-glib-1.0-common (1.8.0-2build1) over (1.8.0-2) ... 258s Preparing to unpack .../06-libjson-glib-1.0-0_1.8.0-2build1_armhf.deb ... 258s Unpacking libjson-glib-1.0-0:armhf (1.8.0-2build1) over (1.8.0-2) ... 258s Preparing to unpack .../07-libxml2_2.9.14+dfsg-1.3ubuntu2_armhf.deb ... 258s Unpacking libxml2:armhf (2.9.14+dfsg-1.3ubuntu2) over (2.9.14+dfsg-1.3ubuntu1) ... 258s Preparing to unpack .../08-libgudev-1.0-0_1%3a238-3ubuntu2_armhf.deb ... 258s Unpacking libgudev-1.0-0:armhf (1:238-3ubuntu2) over (1:238-3) ... 259s Preparing to unpack .../09-libusb-1.0-0_2%3a1.0.27-1_armhf.deb ... 259s Unpacking libusb-1.0-0:armhf (2:1.0.27-1) over (2:1.0.26-1) ... 259s Preparing to unpack .../10-libgusb2_0.4.8-1build1_armhf.deb ... 259s Unpacking libgusb2:armhf (0.4.8-1build1) over (0.4.8-1) ... 259s Preparing to unpack .../11-libmbim-proxy_1.31.2-0ubuntu2_armhf.deb ... 259s Unpacking libmbim-proxy (1.31.2-0ubuntu2) over (1.30.0-1) ... 259s Preparing to unpack .../12-libmbim-glib4_1.31.2-0ubuntu2_armhf.deb ... 259s Unpacking libmbim-glib4:armhf (1.31.2-0ubuntu2) over (1.30.0-1) ... 259s Preparing to unpack .../13-libmm-glib0_1.23.4-0ubuntu1_armhf.deb ... 259s Unpacking libmm-glib0:armhf (1.23.4-0ubuntu1) over (1.22.0-3) ... 259s Preparing to unpack .../14-libpolkit-agent-1-0_124-1ubuntu1_armhf.deb ... 259s Unpacking libpolkit-agent-1-0:armhf (124-1ubuntu1) over (124-1) ... 259s Preparing to unpack .../15-libpolkit-gobject-1-0_124-1ubuntu1_armhf.deb ... 259s Unpacking libpolkit-gobject-1-0:armhf (124-1ubuntu1) over (124-1) ... 259s Preparing to unpack .../16-libqmi-proxy_1.35.2-0ubuntu1_armhf.deb ... 259s Unpacking libqmi-proxy (1.35.2-0ubuntu1) over (1.34.0-2) ... 259s Preparing to unpack .../17-libqrtr-glib0_1.2.2-1ubuntu3_armhf.deb ... 259s Unpacking libqrtr-glib0:armhf (1.2.2-1ubuntu3) over (1.2.2-1ubuntu2) ... 259s Preparing to unpack .../18-libqmi-glib5_1.35.2-0ubuntu1_armhf.deb ... 259s Unpacking libqmi-glib5:armhf (1.35.2-0ubuntu1) over (1.34.0-2) ... 260s Preparing to unpack .../19-libxmlb2_0.3.15-1build1_armhf.deb ... 260s Unpacking libxmlb2:armhf (0.3.15-1build1) over (0.3.15-1) ... 260s Preparing to unpack .../20-shared-mime-info_2.4-1build1_armhf.deb ... 260s Unpacking shared-mime-info (2.4-1build1) over (2.4-1) ... 260s Preparing to unpack .../21-libbrotli1_1.1.0-2build1_armhf.deb ... 260s Unpacking libbrotli1:armhf (1.1.0-2build1) over (1.1.0-2) ... 260s Preparing to unpack .../22-libgssapi-krb5-2_1.20.1-5.1build3_armhf.deb ... 260s Unpacking libgssapi-krb5-2:armhf (1.20.1-5.1build3) over (1.20.1-5build1) ... 260s Preparing to unpack .../23-libkrb5-3_1.20.1-5.1build3_armhf.deb ... 260s Unpacking libkrb5-3:armhf (1.20.1-5.1build3) over (1.20.1-5build1) ... 262s Preparing to unpack .../24-libkrb5support0_1.20.1-5.1build3_armhf.deb ... 262s Unpacking libkrb5support0:armhf (1.20.1-5.1build3) over (1.20.1-5build1) ... 262s Preparing to unpack .../25-libk5crypto3_1.20.1-5.1build3_armhf.deb ... 262s Unpacking libk5crypto3:armhf (1.20.1-5.1build3) over (1.20.1-5build1) ... 262s Preparing to unpack .../26-libcom-err2_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 262s Unpacking libcom-err2:armhf (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 262s Preparing to unpack .../27-libnghttp2-14_1.59.0-1build1_armhf.deb ... 262s Unpacking libnghttp2-14:armhf (1.59.0-1build1) over (1.59.0-1) ... 262s Preparing to unpack .../28-libssh-4_0.10.6-2build1_armhf.deb ... 262s Unpacking libssh-4:armhf (0.10.6-2build1) over (0.10.6-2) ... 262s Preparing to unpack .../29-libibverbs1_50.0-2build1_armhf.deb ... 262s Unpacking libibverbs1:armhf (50.0-2build1) over (50.0-2) ... 262s Preparing to unpack .../30-libfido2-1_1.14.0-1build1_armhf.deb ... 262s Unpacking libfido2-1:armhf (1.14.0-1build1) over (1.14.0-1) ... 262s Preparing to unpack .../31-coreutils_9.4-3ubuntu3_armhf.deb ... 262s Unpacking coreutils (9.4-3ubuntu3) over (9.4-2ubuntu4) ... 262s Setting up coreutils (9.4-3ubuntu3) ... 262s (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 ... 78635 files and directories currently installed.) 262s Preparing to unpack .../debianutils_5.17_armhf.deb ... 262s Unpacking debianutils (5.17) over (5.16) ... 262s Setting up debianutils (5.17) ... 262s (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 ... 78635 files and directories currently installed.) 262s Preparing to unpack .../util-linux_2.39.3-9ubuntu2_armhf.deb ... 262s Unpacking util-linux (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 263s Setting up util-linux (2.39.3-9ubuntu2) ... 265s fstrim.service is a disabled or a static unit not running, not starting it. 266s (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 ... 78635 files and directories currently installed.) 266s Preparing to unpack .../libc-bin_2.39-0ubuntu6_armhf.deb ... 266s Unpacking libc-bin (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 266s Setting up libc-bin (2.39-0ubuntu6) ... 266s (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 ... 78635 files and directories currently installed.) 266s Removing libatm1:armhf (1:2.5.1-5) ... 266s (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 ... 78630 files and directories currently installed.) 266s Preparing to unpack .../curl_8.5.0-2ubuntu7_armhf.deb ... 266s Unpacking curl (8.5.0-2ubuntu7) over (8.5.0-2ubuntu2) ... 266s (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 ... 78630 files and directories currently installed.) 266s Removing libcurl4:armhf (8.5.0-2ubuntu2) ... 266s Selecting previously unselected package libcurl4t64:armhf. 267s (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 ... 78625 files and directories currently installed.) 267s Preparing to unpack .../libcurl4t64_8.5.0-2ubuntu7_armhf.deb ... 267s Unpacking libcurl4t64:armhf (8.5.0-2ubuntu7) ... 267s Preparing to unpack .../libbpf1_1%3a1.3.0-2build1_armhf.deb ... 267s Unpacking libbpf1:armhf (1:1.3.0-2build1) over (1:1.3.0-2) ... 267s Preparing to unpack .../iproute2_6.1.0-1ubuntu5_armhf.deb ... 267s Unpacking iproute2 (6.1.0-1ubuntu5) over (6.1.0-1ubuntu2) ... 267s (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 ... 78631 files and directories currently installed.) 267s Removing libelf1:armhf (0.190-1) ... 267s Selecting previously unselected package libelf1t64:armhf. 267s (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 ... 78626 files and directories currently installed.) 267s Preparing to unpack .../libelf1t64_0.190-1.1build2_armhf.deb ... 267s Unpacking libelf1t64:armhf (0.190-1.1build2) ... 268s Preparing to unpack .../lsof_4.95.0-1build2_armhf.deb ... 268s Unpacking lsof (4.95.0-1build2) over (4.95.0-1build1) ... 268s Preparing to unpack .../libnsl2_1.3.0-3build2_armhf.deb ... 268s Unpacking libnsl2:armhf (1.3.0-3build2) over (1.3.0-3) ... 268s (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 ... 78631 files and directories currently installed.) 268s Removing libtirpc3:armhf (1.3.4+ds-1build1) ... 268s (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 ... 78625 files and directories currently installed.) 268s Preparing to unpack .../0-libtirpc-common_1.3.4+ds-1.1_all.deb ... 268s Unpacking libtirpc-common (1.3.4+ds-1.1) over (1.3.4+ds-1build1) ... 268s Selecting previously unselected package libtirpc3t64:armhf. 268s Preparing to unpack .../1-libtirpc3t64_1.3.4+ds-1.1_armhf.deb ... 268s Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3 to /lib/arm-linux-gnueabihf/libtirpc.so.3.usr-is-merged by libtirpc3t64' 268s Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0 to /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' 268s Unpacking libtirpc3t64:armhf (1.3.4+ds-1.1) ... 268s Preparing to unpack .../2-libblockdev-utils3_3.1.0-1build1_armhf.deb ... 268s Unpacking libblockdev-utils3:armhf (3.1.0-1build1) over (3.1.0-1) ... 268s Preparing to unpack .../3-libblockdev-fs3_3.1.0-1build1_armhf.deb ... 268s Unpacking libblockdev-fs3:armhf (3.1.0-1build1) over (3.1.0-1) ... 269s Preparing to unpack .../4-logsave_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 269s Unpacking logsave (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 269s Preparing to unpack .../5-ubuntu-minimal_1.536build1_armhf.deb ... 269s Unpacking ubuntu-minimal (1.536build1) over (1.536) ... 269s Preparing to unpack .../6-initramfs-tools_0.142ubuntu22_all.deb ... 269s Unpacking initramfs-tools (0.142ubuntu22) over (0.142ubuntu20) ... 269s Preparing to unpack .../7-initramfs-tools-core_0.142ubuntu22_all.deb ... 269s Unpacking initramfs-tools-core (0.142ubuntu22) over (0.142ubuntu20) ... 269s Preparing to unpack .../8-e2fsprogs-l10n_1.47.0-2.4~exp1ubuntu2_all.deb ... 269s Unpacking e2fsprogs-l10n (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 269s dpkg: libext2fs2:armhf: dependency problems, but removing anyway as you requested: 269s e2fsprogs depends on libext2fs2 (= 1.47.0-2ubuntu1). 269s btrfs-progs depends on libext2fs2 (>= 1.42). 269s 269s (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 ... 78637 files and directories currently installed.) 269s Removing libext2fs2:armhf (1.47.0-2ubuntu1) ... 269s Selecting previously unselected package libext2fs2t64:armhf. 270s (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 ... 78630 files and directories currently installed.) 270s Preparing to unpack .../libext2fs2t64_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 270s Adding 'diversion of /lib/arm-linux-gnueabihf/libe2p.so.2 to /lib/arm-linux-gnueabihf/libe2p.so.2.usr-is-merged by libext2fs2t64' 270s Adding 'diversion of /lib/arm-linux-gnueabihf/libe2p.so.2.3 to /lib/arm-linux-gnueabihf/libe2p.so.2.3.usr-is-merged by libext2fs2t64' 270s Adding 'diversion of /lib/arm-linux-gnueabihf/libext2fs.so.2 to /lib/arm-linux-gnueabihf/libext2fs.so.2.usr-is-merged by libext2fs2t64' 270s Adding 'diversion of /lib/arm-linux-gnueabihf/libext2fs.so.2.4 to /lib/arm-linux-gnueabihf/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' 270s Unpacking libext2fs2t64:armhf (1.47.0-2.4~exp1ubuntu2) ... 270s Setting up libcom-err2:armhf (1.47.0-2.4~exp1ubuntu2) ... 270s Setting up libext2fs2t64:armhf (1.47.0-2.4~exp1ubuntu2) ... 270s (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 ... 78646 files and directories currently installed.) 270s Preparing to unpack .../00-e2fsprogs_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 270s Unpacking e2fsprogs (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 271s Preparing to unpack .../01-btrfs-progs_6.6.3-1.1build1_armhf.deb ... 271s Unpacking btrfs-progs (6.6.3-1.1build1) over (6.6.3-1.1) ... 271s Preparing to unpack .../02-dhcpcd-base_1%3a10.0.6-1ubuntu2_armhf.deb ... 271s Unpacking dhcpcd-base (1:10.0.6-1ubuntu2) over (1:10.0.6-1ubuntu1) ... 271s Preparing to unpack .../03-eject_2.39.3-9ubuntu2_armhf.deb ... 271s Unpacking eject (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 271s Preparing to unpack .../04-locales_2.39-0ubuntu6_all.deb ... 271s Unpacking locales (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 272s Selecting previously unselected package libnetplan1:armhf. 272s Preparing to unpack .../05-libnetplan1_1.0-1_armhf.deb ... 272s Unpacking libnetplan1:armhf (1.0-1) ... 272s Preparing to unpack .../06-python3-netplan_1.0-1_armhf.deb ... 272s Unpacking python3-netplan (1.0-1) over (0.107.1-3) ... 272s Preparing to unpack .../07-netplan-generator_1.0-1_armhf.deb ... 272s Adding 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 272s Unpacking netplan-generator (1.0-1) over (0.107.1-3) ... 272s Preparing to unpack .../08-python3-dbus_1.3.2-5build2_armhf.deb ... 272s Unpacking python3-dbus (1.3.2-5build2) over (1.3.2-5build1) ... 273s Preparing to unpack .../09-netplan.io_1.0-1_armhf.deb ... 273s Unpacking netplan.io (1.0-1) over (0.107.1-3) ... 273s Preparing to unpack .../10-vim-tiny_2%3a9.1.0016-1ubuntu5_armhf.deb ... 273s Unpacking vim-tiny (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 273s Preparing to unpack .../11-vim-common_2%3a9.1.0016-1ubuntu5_all.deb ... 273s Unpacking vim-common (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 273s Preparing to unpack .../12-initramfs-tools-bin_0.142ubuntu22_armhf.deb ... 273s Unpacking initramfs-tools-bin (0.142ubuntu22) over (0.142ubuntu20) ... 273s (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 ... 78650 files and directories currently installed.) 273s Removing libreiserfscore0 (1:3.6.27-7) ... 273s Selecting previously unselected package libreiserfscore0t64. 273s (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 ... 78645 files and directories currently installed.) 273s Preparing to unpack .../libreiserfscore0t64_1%3a3.6.27-7.1_armhf.deb ... 273s Unpacking libreiserfscore0t64 (1:3.6.27-7.1) ... 274s Preparing to unpack .../file_1%3a5.45-3_armhf.deb ... 274s Unpacking file (1:5.45-3) over (1:5.45-2) ... 274s (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 ... 78651 files and directories currently installed.) 274s Removing libmagic1:armhf (1:5.45-2) ... 274s (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 ... 78641 files and directories currently installed.) 274s Preparing to unpack .../libmagic-mgc_1%3a5.45-3_armhf.deb ... 274s Unpacking libmagic-mgc (1:5.45-3) over (1:5.45-2) ... 274s Selecting previously unselected package libmagic1t64:armhf. 274s Preparing to unpack .../libmagic1t64_1%3a5.45-3_armhf.deb ... 274s Unpacking libmagic1t64:armhf (1:5.45-3) ... 274s (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 ... 78652 files and directories currently installed.) 274s Removing libnetplan0:armhf (0.107.1-3) ... 275s (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 ... 78648 files and directories currently installed.) 275s Preparing to unpack .../libblockdev-nvme3_3.1.0-1build1_armhf.deb ... 275s Unpacking libblockdev-nvme3:armhf (3.1.0-1build1) over (3.1.0-1) ... 275s (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 ... 78648 files and directories currently installed.) 275s Removing libnvme1 (1.8-2) ... 275s Selecting previously unselected package libnvme1t64. 276s (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 ... 78641 files and directories currently installed.) 276s Preparing to unpack .../libnvme1t64_1.8-3_armhf.deb ... 276s Unpacking libnvme1t64 (1.8-3) ... 276s Preparing to unpack .../libplymouth5_24.004.60-1ubuntu5_armhf.deb ... 276s Unpacking libplymouth5:armhf (24.004.60-1ubuntu5) over (24.004.60-1ubuntu3) ... 276s (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 ... 78649 files and directories currently installed.) 276s Removing libpng16-16:armhf (1.6.43-1) ... 276s Selecting previously unselected package libpng16-16t64:armhf. 276s (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 ... 78639 files and directories currently installed.) 276s Preparing to unpack .../libpng16-16t64_1.6.43-3_armhf.deb ... 276s Unpacking libpng16-16t64:armhf (1.6.43-3) ... 276s (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 ... 78650 files and directories currently installed.) 276s Removing libudisks2-0:armhf (2.10.1-1ubuntu2) ... 276s (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 ... 78645 files and directories currently installed.) 276s Preparing to unpack .../bind9-host_1%3a9.18.24-0ubuntu3_armhf.deb ... 276s Unpacking bind9-host (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 276s Preparing to unpack .../bind9-dnsutils_1%3a9.18.24-0ubuntu3_armhf.deb ... 276s Unpacking bind9-dnsutils (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 277s Preparing to unpack .../bind9-libs_1%3a9.18.24-0ubuntu3_armhf.deb ... 277s Unpacking bind9-libs:armhf (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 277s (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 ... 78645 files and directories currently installed.) 277s Removing libuv1:armhf (1.48.0-1) ... 277s Selecting previously unselected package libuv1t64:armhf. 277s (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 ... 78640 files and directories currently installed.) 277s Preparing to unpack .../libuv1t64_1.48.0-1.1_armhf.deb ... 277s Unpacking libuv1t64:armhf (1.48.0-1.1) ... 277s (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 ... 78646 files and directories currently installed.) 277s Removing python3-distutils (3.11.5-1) ... 278s (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 ... 78591 files and directories currently installed.) 278s Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu2_armhf.deb ... 278s Unpacking uuid-runtime (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 278s Preparing to unpack .../libdebconfclient0_0.271ubuntu2_armhf.deb ... 278s Unpacking libdebconfclient0:armhf (0.271ubuntu2) over (0.271ubuntu1) ... 278s Setting up libdebconfclient0:armhf (0.271ubuntu2) ... 278s (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 ... 78591 files and directories currently installed.) 278s Preparing to unpack .../libsemanage-common_3.5-1build4_all.deb ... 278s Unpacking libsemanage-common (3.5-1build4) over (3.5-1build2) ... 278s Setting up libsemanage-common (3.5-1build4) ... 278s (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 ... 78591 files and directories currently installed.) 278s Preparing to unpack .../libsemanage2_3.5-1build4_armhf.deb ... 278s Unpacking libsemanage2:armhf (3.5-1build4) over (3.5-1build2) ... 279s Setting up libsemanage2:armhf (3.5-1build4) ... 279s (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 ... 78591 files and directories currently installed.) 279s Preparing to unpack .../install-info_7.1-3build1_armhf.deb ... 279s Unpacking install-info (7.1-3build1) over (7.1-3) ... 279s Setting up install-info (7.1-3build1) ... 279s (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 ... 78591 files and directories currently installed.) 279s Preparing to unpack .../00-gcc-13-base_13.2.0-19ubuntu1_armhf.deb ... 279s Unpacking gcc-13-base:armhf (13.2.0-19ubuntu1) over (13.2.0-17ubuntu2) ... 279s Preparing to unpack .../01-libss2_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 279s Unpacking libss2:armhf (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 279s Preparing to unpack .../02-dmsetup_2%3a1.02.185-3ubuntu2_armhf.deb ... 279s Unpacking dmsetup (2:1.02.185-3ubuntu2) over (2:1.02.185-3ubuntu1) ... 280s Preparing to unpack .../03-gir1.2-girepository-2.0_1.79.1-1ubuntu6_armhf.deb ... 280s Unpacking gir1.2-girepository-2.0:armhf (1.79.1-1ubuntu6) over (1.79.1-1) ... 280s Preparing to unpack .../04-gir1.2-glib-2.0_2.79.3-3ubuntu5_armhf.deb ... 280s Unpacking gir1.2-glib-2.0:armhf (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 280s Preparing to unpack .../05-libgirepository-1.0-1_1.79.1-1ubuntu6_armhf.deb ... 280s Unpacking libgirepository-1.0-1:armhf (1.79.1-1ubuntu6) over (1.79.1-1) ... 280s Preparing to unpack .../06-krb5-locales_1.20.1-5.1build3_all.deb ... 280s Unpacking krb5-locales (1.20.1-5.1build3) over (1.20.1-5build1) ... 280s Preparing to unpack .../07-libbsd0_0.12.1-1_armhf.deb ... 280s Unpacking libbsd0:armhf (0.12.1-1) over (0.11.8-1) ... 280s Preparing to unpack .../08-libglib2.0-data_2.79.3-3ubuntu5_all.deb ... 280s Unpacking libglib2.0-data (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 280s Preparing to unpack .../09-libslang2_2.3.3-3build1_armhf.deb ... 280s Unpacking libslang2:armhf (2.3.3-3build1) over (2.3.3-3) ... 280s Preparing to unpack .../10-python3-gi_3.47.0-3build1_armhf.deb ... 281s Unpacking python3-gi (3.47.0-3build1) over (3.47.0-3) ... 281s Selecting previously unselected package xdg-user-dirs. 281s Preparing to unpack .../11-xdg-user-dirs_0.18-1_armhf.deb ... 281s Unpacking xdg-user-dirs (0.18-1) ... 281s Preparing to unpack .../12-xxd_2%3a9.1.0016-1ubuntu5_armhf.deb ... 281s Unpacking xxd (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 281s Preparing to unpack .../13-apparmor_4.0.0-beta3-0ubuntu2_armhf.deb ... 283s Unpacking apparmor (4.0.0-beta3-0ubuntu2) over (4.0.0~alpha4-0ubuntu1) ... 284s Preparing to unpack .../14-ftp_20230507-2build1_all.deb ... 284s Unpacking ftp (20230507-2build1) over (20230507-2) ... 284s Preparing to unpack .../15-inetutils-telnet_2%3a2.5-3ubuntu3_armhf.deb ... 284s Unpacking inetutils-telnet (2:2.5-3ubuntu3) over (2:2.5-3ubuntu1) ... 284s Preparing to unpack .../16-info_7.1-3build1_armhf.deb ... 284s Unpacking info (7.1-3build1) over (7.1-3) ... 284s Preparing to unpack .../17-libxmuu1_2%3a1.1.3-3build1_armhf.deb ... 284s Unpacking libxmuu1:armhf (2:1.1.3-3build1) over (2:1.1.3-3) ... 284s Preparing to unpack .../18-lshw_02.19.git.2021.06.19.996aaad9c7-2build2_armhf.deb ... 284s Unpacking lshw (02.19.git.2021.06.19.996aaad9c7-2build2) over (02.19.git.2021.06.19.996aaad9c7-2build1) ... 285s Preparing to unpack .../19-mtr-tiny_0.95-1.1build1_armhf.deb ... 285s Unpacking mtr-tiny (0.95-1.1build1) over (0.95-1.1) ... 285s Preparing to unpack .../20-plymouth-theme-ubuntu-text_24.004.60-1ubuntu5_armhf.deb ... 285s Unpacking plymouth-theme-ubuntu-text (24.004.60-1ubuntu5) over (24.004.60-1ubuntu3) ... 285s Preparing to unpack .../21-plymouth_24.004.60-1ubuntu5_armhf.deb ... 285s Unpacking plymouth (24.004.60-1ubuntu5) over (24.004.60-1ubuntu3) ... 285s Preparing to unpack .../22-psmisc_23.7-1_armhf.deb ... 285s Unpacking psmisc (23.7-1) over (23.6-2) ... 286s Preparing to unpack .../23-telnet_0.17+2.5-3ubuntu3_all.deb ... 286s Unpacking telnet (0.17+2.5-3ubuntu3) over (0.17+2.5-3ubuntu1) ... 286s Preparing to unpack .../24-xz-utils_5.6.0-0.2_armhf.deb ... 286s Unpacking xz-utils (5.6.0-0.2) over (5.4.5-0.3) ... 286s Preparing to unpack .../25-ubuntu-standard_1.536build1_armhf.deb ... 286s Unpacking ubuntu-standard (1.536build1) over (1.536) ... 286s Preparing to unpack .../26-usb.ids_2024.03.18-1_all.deb ... 286s Unpacking usb.ids (2024.03.18-1) over (2024.01.30-1) ... 286s Preparing to unpack .../27-libctf-nobfd0_2.42-4ubuntu1_armhf.deb ... 286s Unpacking libctf-nobfd0:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 286s Preparing to unpack .../28-libctf0_2.42-4ubuntu1_armhf.deb ... 286s Unpacking libctf0:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 286s Preparing to unpack .../29-binutils-arm-linux-gnueabihf_2.42-4ubuntu1_armhf.deb ... 286s Unpacking binutils-arm-linux-gnueabihf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 287s Preparing to unpack .../30-libbinutils_2.42-4ubuntu1_armhf.deb ... 287s Unpacking libbinutils:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 287s Preparing to unpack .../31-binutils_2.42-4ubuntu1_armhf.deb ... 287s Unpacking binutils (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 287s Preparing to unpack .../32-binutils-common_2.42-4ubuntu1_armhf.deb ... 287s Unpacking binutils-common:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 287s Preparing to unpack .../33-libsframe1_2.42-4ubuntu1_armhf.deb ... 287s Unpacking libsframe1:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 287s Preparing to unpack .../34-bolt_0.9.6-2build1_armhf.deb ... 287s Unpacking bolt (0.9.6-2build1) over (0.9.6-2) ... 287s Preparing to unpack .../35-cryptsetup-bin_2%3a2.7.0-1ubuntu2_armhf.deb ... 287s Unpacking cryptsetup-bin (2:2.7.0-1ubuntu2) over (2:2.7.0-1ubuntu1) ... 287s Preparing to unpack .../36-dpkg-dev_1.22.6ubuntu4_all.deb ... 287s Unpacking dpkg-dev (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 288s Preparing to unpack .../37-libdpkg-perl_1.22.6ubuntu4_all.deb ... 288s Unpacking libdpkg-perl (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 288s Preparing to unpack .../38-gnupg-l10n_2.4.4-2ubuntu15_all.deb ... 288s Unpacking gnupg-l10n (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 288s Preparing to unpack .../39-ibverbs-providers_50.0-2build1_armhf.deb ... 288s Unpacking ibverbs-providers:armhf (50.0-2build1) over (50.0-2) ... 289s Preparing to unpack .../40-jq_1.7.1-3_armhf.deb ... 289s Unpacking jq (1.7.1-3) over (1.7.1-2) ... 289s Preparing to unpack .../41-libjq1_1.7.1-3_armhf.deb ... 289s Unpacking libjq1:armhf (1.7.1-3) over (1.7.1-2) ... 289s Selecting previously unselected package libatm1t64:armhf. 289s Preparing to unpack .../42-libatm1t64_1%3a2.5.1-5.1_armhf.deb ... 289s Unpacking libatm1t64:armhf (1:2.5.1-5.1) ... 289s Preparing to unpack .../43-libblockdev-crypto3_3.1.0-1build1_armhf.deb ... 289s Unpacking libblockdev-crypto3:armhf (3.1.0-1build1) over (3.1.0-1) ... 289s Preparing to unpack .../44-libblockdev-loop3_3.1.0-1build1_armhf.deb ... 289s Unpacking libblockdev-loop3:armhf (3.1.0-1build1) over (3.1.0-1) ... 289s Preparing to unpack .../45-libblockdev-mdraid3_3.1.0-1build1_armhf.deb ... 289s Unpacking libblockdev-mdraid3:armhf (3.1.0-1build1) over (3.1.0-1) ... 289s Preparing to unpack .../46-libblockdev-part3_3.1.0-1build1_armhf.deb ... 289s Unpacking libblockdev-part3:armhf (3.1.0-1build1) over (3.1.0-1) ... 289s Preparing to unpack .../47-libblockdev-swap3_3.1.0-1build1_armhf.deb ... 289s Unpacking libblockdev-swap3:armhf (3.1.0-1build1) over (3.1.0-1) ... 289s Preparing to unpack .../48-libblockdev3_3.1.0-1build1_armhf.deb ... 289s Unpacking libblockdev3:armhf (3.1.0-1build1) over (3.1.0-1) ... 295s Preparing to unpack .../49-libevent-core-2.1-7_2.1.12-stable-9build1_armhf.deb ... 295s Unpacking libevent-core-2.1-7:armhf (2.1.12-stable-9build1) over (2.1.12-stable-9) ... 295s Preparing to unpack .../50-libftdi1-2_1.5-6build4_armhf.deb ... 295s Unpacking libftdi1-2:armhf (1.5-6build4) over (1.5-6build3) ... 295s Preparing to unpack .../51-libldap-common_2.6.7+dfsg-1~exp1ubuntu6_all.deb ... 295s Unpacking libldap-common (2.6.7+dfsg-1~exp1ubuntu6) over (2.6.7+dfsg-1~exp1ubuntu1) ... 295s Preparing to unpack .../52-libsasl2-modules_2.1.28+dfsg1-4ubuntu4_armhf.deb ... 295s Unpacking libsasl2-modules:armhf (2.1.28+dfsg1-4ubuntu4) over (2.1.28+dfsg1-4) ... 295s Preparing to unpack .../53-python3-lib2to3_3.12.2-3ubuntu2_all.deb ... 295s Unpacking python3-lib2to3 (3.12.2-3ubuntu2) over (3.11.5-1) ... 295s Preparing to unpack .../54-python3-markupsafe_2.1.5-1build1_armhf.deb ... 295s Unpacking python3-markupsafe (2.1.5-1build1) over (2.1.5-1) ... 295s Preparing to unpack .../55-python3-pyrsistent_0.20.0-1build1_armhf.deb ... 295s Unpacking python3-pyrsistent:armhf (0.20.0-1build1) over (0.20.0-1) ... 295s Preparing to unpack .../56-python3-typing-extensions_4.10.0-1_all.deb ... 295s Unpacking python3-typing-extensions (4.10.0-1) over (4.9.0-1) ... 295s Preparing to unpack .../57-kpartx_0.9.4-5ubuntu5_armhf.deb ... 295s Unpacking kpartx (0.9.4-5ubuntu5) over (0.9.4-5ubuntu3) ... 295s Setting up pinentry-curses (1.2.1-3ubuntu4) ... 295s Setting up libtext-iconv-perl:armhf (1.7-8build2) ... 295s Setting up libtext-charwidth-perl:armhf (0.04-11build2) ... 295s Setting up libibverbs1:armhf (50.0-2build1) ... 295s Setting up systemd-sysv (255.4-1ubuntu5) ... 295s Setting up libapparmor1:armhf (4.0.0-beta3-0ubuntu2) ... 295s Setting up libatm1t64:armhf (1:2.5.1-5.1) ... 295s Setting up libgdbm6t64:armhf (1.23-5.1) ... 295s Setting up bsdextrautils (2.39.3-9ubuntu2) ... 295s Setting up libgdbm-compat4t64:armhf (1.23-5.1) ... 295s Setting up xdg-user-dirs (0.18-1) ... 295s Setting up ibverbs-providers:armhf (50.0-2build1) ... 295s Setting up linux-headers-6.8.0-20 (6.8.0-20.20) ... 295s Setting up libmagic-mgc (1:5.45-3) ... 295s Setting up gawk (1:5.2.1-2build2) ... 295s Setting up psmisc (23.7-1) ... 295s Setting up libjq1:armhf (1.7.1-3) ... 295s Setting up libtirpc-common (1.3.4+ds-1.1) ... 295s Setting up libbrotli1:armhf (1.1.0-2build1) ... 295s Setting up libsqlite3-0:armhf (3.45.1-1ubuntu1) ... 295s Setting up libsasl2-modules:armhf (2.1.28+dfsg1-4ubuntu4) ... 295s Setting up libuv1t64:armhf (1.48.0-1.1) ... 295s Setting up libmagic1t64:armhf (1:5.45-3) ... 295s Setting up binutils-common:armhf (2.42-4ubuntu1) ... 295s Setting up libpsl5t64:armhf (0.21.2-1.1) ... 295s Setting up libnghttp2-14:armhf (1.59.0-1build1) ... 295s Setting up libreiserfscore0t64 (1:3.6.27-7.1) ... 295s Setting up libctf-nobfd0:armhf (2.42-4ubuntu1) ... 295s Setting up libnss-systemd:armhf (255.4-1ubuntu5) ... 295s Setting up krb5-locales (1.20.1-5.1build3) ... 295s Setting up file (1:5.45-3) ... 295s Setting up lshw (02.19.git.2021.06.19.996aaad9c7-2build2) ... 295s Setting up locales (2.39-0ubuntu6) ... 295s Generating locales (this might take a while)... 303s en_US.UTF-8... done 303s Generation complete. 303s Setting up libldap-common (2.6.7+dfsg-1~exp1ubuntu6) ... 303s Setting up xxd (2:9.1.0016-1ubuntu5) ... 303s Setting up libsframe1:armhf (2.42-4ubuntu1) ... 303s Setting up libelf1t64:armhf (0.190-1.1build2) ... 303s Setting up libkrb5support0:armhf (1.20.1-5.1build3) ... 303s Setting up linux-headers-6.8.0-20-generic (6.8.0-20.20) ... 303s Setting up eject (2.39.3-9ubuntu2) ... 303s Setting up apparmor (4.0.0-beta3-0ubuntu2) ... 303s Installing new version of config file /etc/apparmor.d/abstractions/authentication ... 303s Installing new version of config file /etc/apparmor.d/abstractions/crypto ... 303s Installing new version of config file /etc/apparmor.d/abstractions/kde-open5 ... 303s Installing new version of config file /etc/apparmor.d/abstractions/openssl ... 303s Installing new version of config file /etc/apparmor.d/code ... 303s Installing new version of config file /etc/apparmor.d/firefox ... 305s apparmor_parser: Unable to replace "lsb_release". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 305s 305s apparmor_parser: Unable to replace "kmod". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 305s 305s apparmor_parser: Unable to replace "nvidia_modprobe". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 305s 307s sysctl: cannot stat /proc/sys/kernel/apparmor_restrict_unprivileged_userns: No such file or directory 307s Reloading AppArmor profiles 307s /sbin/apparmor_parser: Unable to replace "1password". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "Discord". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "MongoDB Compass". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "QtWebEngineProcess". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "brave". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "buildah". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "busybox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "cam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "ch-run". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "ch-checkns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "devhelp". /sbin/apparmor_parser: Unable to replace "vscode". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "element-desktop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "epiphany". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "chrome". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "crun". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "evolution". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "flatpak". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "firefox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "geary". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "github-desktop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "goldendict". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "ipa_verify". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "kchmviewer". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lc-compliance". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "libcamerify". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "linux-sandbox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "keybase". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lxc-create". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "loupe". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lxc-destroy". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lxc-execute". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lxc-unshare". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lxc-attach". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lxc-usernsexec". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lxc-stop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "mmdebstrap". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "msedge". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "nautilus". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "notepadqq". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "obsidian". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "opam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "pageedit". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "opera". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "podman". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "polypane". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "privacybrowser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "qmapshack". /sbin/apparmor_parser: Unable to replace "qcam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "QtWebEngineProcess". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "plasmashell". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "qutebrowser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "rootlesskit". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "rssguard". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "rpm". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "runc". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-adduser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "lsb_release". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-apt". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-abort". /sbin/apparmor_parser: Unable to replace "sbuild". /sbin/apparmor_parser: Unable to replace "sbuild-clean". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-checkpackages". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-createchroot". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-hold". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-destroychroot". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-unhold". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-shell". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-upgrade". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "scide". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "signal-desktop". /sbin/apparmor_parser: Unable to replace "sbuild-distupgrade". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "slirp4netns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "steam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "surfshark". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "stress-ng". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "thunderbird". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "slack". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "systemd-coredump". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "toybox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "sbuild-update". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "tup". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "kmod". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "nvidia_modprobe". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "tuxedo-control-center". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "userbindmount". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "unprivileged_userns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "uwsgi-core". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "trinity". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 307s /sbin/apparmor_parser: Unable to replace "vdens". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 307s 308s /sbin/apparmor_parser: Unable to replace "vpnns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s /sbin/apparmor_parser: Unable to replace "vivaldi-bin". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s /sbin/apparmor_parser: Unable to replace "virtiofsd". /sbin/apparmor_parser: Unable to replace "wpcom". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s /sbin/apparmor_parser: Unable to replace "ubuntu_pro_apt_news". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s /sbin/apparmor_parser: Unable to replace "unix-chkpwd". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s /sbin/apparmor_parser: Unable to replace "rsyslogd". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s /sbin/apparmor_parser: Unable to replace "/usr/bin/man". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s /sbin/apparmor_parser: Unable to replace "tcpdump". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 308s 308s Error: At least one profile failed to load 308s Setting up libglib2.0-0t64:armhf (2.79.3-3ubuntu5) ... 308s No schema files found: doing nothing. 308s Setting up libglib2.0-data (2.79.3-3ubuntu5) ... 308s Setting up vim-common (2:9.1.0016-1ubuntu5) ... 308s Setting up gcc-13-base:armhf (13.2.0-19ubuntu1) ... 308s Setting up libqrtr-glib0:armhf (1.2.2-1ubuntu3) ... 308s Setting up libslang2:armhf (2.3.3-3build1) ... 308s Setting up libnvme1t64 (1.8-3) ... 308s Setting up mtr-tiny (0.95-1.1build1) ... 308s Setting up gnupg-l10n (2.4.4-2ubuntu15) ... 308s Setting up librtmp1:armhf (2.4+20151223.gitfa8646d.1-2build6) ... 308s Setting up libdbus-1-3:armhf (1.14.10-4ubuntu2) ... 308s Setting up xz-utils (5.6.0-0.2) ... 308s Setting up perl-modules-5.38 (5.38.2-3.2) ... 308s Setting up libpng16-16t64:armhf (1.6.43-3) ... 308s Setting up systemd-timesyncd (255.4-1ubuntu5) ... 309s Setting up libevent-core-2.1-7:armhf (2.1.12-stable-9build1) ... 309s Setting up libss2:armhf (1.47.0-2.4~exp1ubuntu2) ... 309s Setting up usb.ids (2024.03.18-1) ... 309s Setting up sudo (1.9.15p5-3ubuntu3) ... 310s Setting up dhcpcd-base (1:10.0.6-1ubuntu2) ... 310s Setting up gir1.2-glib-2.0:armhf (2.79.3-3ubuntu5) ... 310s Setting up libk5crypto3:armhf (1.20.1-5.1build3) ... 310s Setting up logsave (1.47.0-2.4~exp1ubuntu2) ... 310s Setting up libfdisk1:armhf (2.39.3-9ubuntu2) ... 310s Setting up libdb5.3t64:armhf (5.3.28+dfsg2-5build1) ... 310s Setting up libdevmapper1.02.1:armhf (2:1.02.185-3ubuntu2) ... 310s Setting up python-apt-common (2.7.6build1) ... 310s Setting up mount (2.39.3-9ubuntu2) ... 310s Setting up dmsetup (2:1.02.185-3ubuntu2) ... 310s Setting up uuid-runtime (2.39.3-9ubuntu2) ... 312s uuidd.service is a disabled or a static unit not running, not starting it. 312s Setting up libmm-glib0:armhf (1.23.4-0ubuntu1) ... 312s Setting up groff-base (1.23.0-3build1) ... 312s Setting up libplymouth5:armhf (24.004.60-1ubuntu5) ... 312s Setting up dbus-session-bus-common (1.14.10-4ubuntu2) ... 312s Setting up jq (1.7.1-3) ... 312s Setting up gpgconf (2.4.4-2ubuntu15) ... 312s Setting up libpcap0.8t64:armhf (1.10.4-4.1ubuntu1) ... 312s Setting up libcryptsetup12:armhf (2:2.7.0-1ubuntu2) ... 312s Setting up libgirepository-1.0-1:armhf (1.79.1-1ubuntu6) ... 312s Setting up libjson-glib-1.0-common (1.8.0-2build1) ... 312s Setting up libkrb5-3:armhf (1.20.1-5.1build3) ... 312s Setting up libpython3.11-minimal:armhf (3.11.8-1build4) ... 312s Setting up libusb-1.0-0:armhf (2:1.0.27-1) ... 312s Setting up libperl5.38t64:armhf (5.38.2-3.2) ... 312s Setting up tnftp (20230507-2build1) ... 312s Setting up libbinutils:armhf (2.42-4ubuntu1) ... 312s Setting up dbus-system-bus-common (1.14.10-4ubuntu2) ... 312s Setting up libfido2-1:armhf (1.14.0-1build1) ... 312s Setting up openssl (3.0.13-0ubuntu2) ... 312s Setting up libbsd0:armhf (0.12.1-1) ... 312s Setting up readline-common (8.2-3.1) ... 312s Setting up libxml2:armhf (2.9.14+dfsg-1.3ubuntu2) ... 312s Setting up libxmuu1:armhf (2:1.1.3-3build1) ... 312s Setting up dbus-bin (1.14.10-4ubuntu2) ... 312s Setting up info (7.1-3build1) ... 312s Setting up liblocale-gettext-perl (1.07-6ubuntu3) ... 312s Setting up gpg (2.4.4-2ubuntu15) ... 312s Setting up libgudev-1.0-0:armhf (1:238-3ubuntu2) ... 312s Setting up libpolkit-gobject-1-0:armhf (124-1ubuntu1) ... 312s Setting up libbpf1:armhf (1:1.3.0-2build1) ... 312s Setting up libmbim-glib4:armhf (1.31.2-0ubuntu2) ... 312s Setting up rsync (3.2.7-1build1) ... 314s rsync.service is a disabled or a static unit not running, not starting it. 314s Setting up libkmod2:armhf (31+20240202-2ubuntu4) ... 314s Setting up bolt (0.9.6-2build1) ... 315s bolt.service is a disabled or a static unit not running, not starting it. 315s Setting up gnupg-utils (2.4.4-2ubuntu15) ... 315s Setting up initramfs-tools-bin (0.142ubuntu22) ... 315s Setting up libctf0:armhf (2.42-4ubuntu1) ... 315s Setting up cryptsetup-bin (2:2.7.0-1ubuntu2) ... 315s Setting up python3.11-minimal (3.11.8-1build4) ... 318s Setting up tcpdump (4.99.4-3ubuntu2) ... 319s apparmor_parser: Unable to replace "tcpdump". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 319s 319s Setting up apt-utils (2.7.13ubuntu1) ... 319s Setting up gpg-agent (2.4.4-2ubuntu15) ... 321s Setting up libpython3.12-stdlib:armhf (3.12.2-4build3) ... 321s Setting up wget (1.21.4-1ubuntu2) ... 321s Setting up libxmlb2:armhf (0.3.15-1build1) ... 321s Setting up btrfs-progs (6.6.3-1.1build1) ... 321s Setting up libpython3.11-stdlib:armhf (3.11.8-1build4) ... 321s Setting up python3.12 (3.12.2-4build3) ... 325s Setting up gpgsm (2.4.4-2ubuntu15) ... 325s Setting up inetutils-telnet (2:2.5-3ubuntu3) ... 325s Setting up e2fsprogs (1.47.0-2.4~exp1ubuntu2) ... 325s update-initramfs: deferring update (trigger activated) 327s e2scrub_all.service is a disabled or a static unit not running, not starting it. 327s Setting up libparted2t64:armhf (3.6-3.1build2) ... 327s Setting up linux-headers-generic (6.8.0-20.20+1) ... 327s Setting up dbus-daemon (1.14.10-4ubuntu2) ... 327s Setting up libmbim-proxy (1.31.2-0ubuntu2) ... 327s Setting up vim-tiny (2:9.1.0016-1ubuntu5) ... 327s Setting up kmod (31+20240202-2ubuntu4) ... 328s Setting up libnetplan1:armhf (1.0-1) ... 328s Setting up man-db (2.12.0-3build4) ... 328s Updating database of manual pages ... 331s apparmor_parser: Unable to replace "/usr/bin/man". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 331s 333s man-db.service is a disabled or a static unit not running, not starting it. 333s Setting up fdisk (2.39.3-9ubuntu2) ... 333s Setting up libjson-glib-1.0-0:armhf (1.8.0-2build1) ... 333s Setting up libsasl2-modules-db:armhf (2.1.28+dfsg1-4ubuntu4) ... 333s Setting up libftdi1-2:armhf (1.5-6build4) ... 333s Setting up perl (5.38.2-3.2) ... 333s Setting up gir1.2-girepository-2.0:armhf (1.79.1-1ubuntu6) ... 333s Setting up dbus (1.14.10-4ubuntu2) ... 333s A reboot is required to replace the running dbus-daemon. 333s Please reboot the system when convenient. 334s Setting up shared-mime-info (2.4-1build1) ... 335s Setting up libblockdev-utils3:armhf (3.1.0-1build1) ... 335s Setting up libgssapi-krb5-2:armhf (1.20.1-5.1build3) ... 335s Setting up udev (255.4-1ubuntu5) ... 337s Setting up ftp (20230507-2build1) ... 337s Setting up keyboxd (2.4.4-2ubuntu15) ... 338s Setting up libdpkg-perl (1.22.6ubuntu4) ... 338s Setting up libsasl2-2:armhf (2.1.28+dfsg1-4ubuntu4) ... 338s Setting up libssh-4:armhf (0.10.6-2build1) ... 338s Setting up libblockdev-nvme3:armhf (3.1.0-1build1) ... 338s Setting up libblockdev-fs3:armhf (3.1.0-1build1) ... 338s Setting up kpartx (0.9.4-5ubuntu5) ... 338s Setting up libpam-systemd:armhf (255.4-1ubuntu5) ... 338s Setting up libpolkit-agent-1-0:armhf (124-1ubuntu1) ... 338s Setting up libgpgme11t64:armhf (1.18.0-4.1ubuntu3) ... 338s Setting up netplan-generator (1.0-1) ... 339s Removing 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 339s Setting up initramfs-tools-core (0.142ubuntu22) ... 339s Setting up binutils-arm-linux-gnueabihf (2.42-4ubuntu1) ... 339s Setting up libarchive13t64:armhf (3.7.2-1.1ubuntu1) ... 339s Setting up libldap2:armhf (2.6.7+dfsg-1~exp1ubuntu6) ... 339s Setting up libpython3-stdlib:armhf (3.12.2-0ubuntu1) ... 339s Setting up systemd-resolved (255.4-1ubuntu5) ... 340s Setting up python3.11 (3.11.8-1build4) ... 344s Setting up telnet (0.17+2.5-3ubuntu3) ... 344s Setting up initramfs-tools (0.142ubuntu22) ... 344s update-initramfs: deferring update (trigger activated) 344s Setting up libblockdev-mdraid3:armhf (3.1.0-1build1) ... 344s Setting up libcurl4t64:armhf (8.5.0-2ubuntu7) ... 344s Setting up bind9-libs:armhf (1:9.18.24-0ubuntu3) ... 344s Setting up libtirpc3t64:armhf (1.3.4+ds-1.1) ... 344s Setting up e2fsprogs-l10n (1.47.0-2.4~exp1ubuntu2) ... 344s Setting up libblockdev-swap3:armhf (3.1.0-1build1) ... 344s Setting up plymouth (24.004.60-1ubuntu5) ... 344s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 345s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 345s Setting up iproute2 (6.1.0-1ubuntu5) ... 346s Setting up openssh-client (1:9.6p1-3ubuntu11) ... 346s Setting up libgusb2:armhf (0.4.8-1build1) ... 346s Setting up libblockdev-loop3:armhf (3.1.0-1build1) ... 346s Setting up libcurl3t64-gnutls:armhf (8.5.0-2ubuntu7) ... 346s Setting up parted (3.6-3.1build2) ... 346s Setting up libqmi-glib5:armhf (1.35.2-0ubuntu1) ... 346s Setting up python3 (3.12.2-0ubuntu1) ... 348s Setting up binutils (2.42-4ubuntu1) ... 348s Setting up python3-markupsafe (2.1.5-1build1) ... 348s Setting up libblockdev3:armhf (3.1.0-1build1) ... 348s Setting up libjcat1:armhf (0.2.0-2build2) ... 348s Setting up dpkg-dev (1.22.6ubuntu4) ... 348s Setting up libblockdev-part3:armhf (3.1.0-1build1) ... 348s Setting up dirmngr (2.4.4-2ubuntu15) ... 348s Setting up dbus-user-session (1.14.10-4ubuntu2) ... 348s Setting up plymouth-theme-ubuntu-text (24.004.60-1ubuntu5) ... 348s update-initramfs: deferring update (trigger activated) 348s Setting up python3-cryptography (41.0.7-4build2) ... 349s Setting up python3-gi (3.47.0-3build1) ... 349s Setting up python3-typing-extensions (4.10.0-1) ... 350s Setting up lsof (4.95.0-1build2) ... 350s Setting up python3-pyrsistent:armhf (0.20.0-1build1) ... 350s Setting up libnsl2:armhf (1.3.0-3build2) ... 350s Setting up gnupg (2.4.4-2ubuntu15) ... 350s Setting up python3-netplan (1.0-1) ... 350s Setting up curl (8.5.0-2ubuntu7) ... 350s Setting up libvolume-key1:armhf (0.3.12-7build1) ... 350s Setting up bind9-host (1:9.18.24-0ubuntu3) ... 350s Setting up python3-lib2to3 (3.12.2-3ubuntu2) ... 351s Setting up python3-pkg-resources (68.1.2-2ubuntu1) ... 352s Setting up openssh-sftp-server (1:9.6p1-3ubuntu11) ... 352s Setting up python3-dbus (1.3.2-5build2) ... 352s Setting up python3-setuptools (68.1.2-2ubuntu1) ... 354s Setting up gpg-wks-client (2.4.4-2ubuntu15) ... 354s Setting up openssh-server (1:9.6p1-3ubuntu11) ... 355s Replacing config file /etc/ssh/sshd_config with new version 359s Created symlink /etc/systemd/system/ssh.service.requires/ssh.socket → /usr/lib/systemd/system/ssh.socket. 362s Setting up libblockdev-crypto3:armhf (3.1.0-1build1) ... 362s Setting up python3-gdbm:armhf (3.12.2-3ubuntu2) ... 362s Setting up python3-apt (2.7.6build1) ... 363s Setting up libfwupd2:armhf (1.9.15-1) ... 363s Setting up python3-yaml (6.0.1-2build1) ... 371s Setting up libqmi-proxy (1.35.2-0ubuntu1) ... 371s Setting up netplan.io (1.0-1) ... 371s Setting up bind9-dnsutils (1:9.18.24-0ubuntu3) ... 371s Setting up ubuntu-pro-client (31.2) ... 371s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 371s 371s Setting up fwupd (1.9.15-1) ... 371s fwupd-offline-update.service is a disabled or a static unit not running, not starting it. 371s fwupd-refresh.service is a disabled or a static unit not running, not starting it. 371s fwupd.service is a disabled or a static unit not running, not starting it. 371s Setting up ubuntu-pro-client-l10n (31.2) ... 371s Setting up ubuntu-minimal (1.536build1) ... 371s Setting up ubuntu-standard (1.536build1) ... 371s Processing triggers for libc-bin (2.39-0ubuntu6) ... 371s Processing triggers for ufw (0.36.2-5) ... 371s Processing triggers for install-info (7.1-3build1) ... 371s Processing triggers for initramfs-tools (0.142ubuntu22) ... 376s Reading package lists... 377s Building dependency tree... 377s Reading state information... 378s The following packages will be REMOVED: 378s libatasmart4* libblockdev-crypto3* libblockdev-fs3* libblockdev-loop3* 378s libblockdev-mdraid3* libblockdev-nvme3* libblockdev-part3* 378s libblockdev-swap3* libblockdev-utils3* libblockdev3* libbytesize-common* 378s libbytesize1* libnspr4* libnss3* libnvme1t64* libpolkit-agent-1-0* 378s libvolume-key1* linux-headers-6.8.0-11* python3-lib2to3* 379s 0 upgraded, 0 newly installed, 19 to remove and 1 not upgraded. 379s After this operation, 89.7 MB disk space will be freed. 379s (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 ... 78559 files and directories currently installed.) 379s Removing libatasmart4:armhf (0.19-5build2) ... 379s Removing libblockdev-crypto3:armhf (3.1.0-1build1) ... 379s Removing libblockdev-fs3:armhf (3.1.0-1build1) ... 380s Removing libblockdev-loop3:armhf (3.1.0-1build1) ... 380s Removing libblockdev-mdraid3:armhf (3.1.0-1build1) ... 380s Removing libblockdev-nvme3:armhf (3.1.0-1build1) ... 380s Removing libblockdev-part3:armhf (3.1.0-1build1) ... 380s Removing libblockdev-swap3:armhf (3.1.0-1build1) ... 380s Removing libblockdev3:armhf (3.1.0-1build1) ... 380s Removing libblockdev-utils3:armhf (3.1.0-1build1) ... 380s Removing libbytesize1:armhf (2.10-1ubuntu1) ... 380s Removing libbytesize-common (2.10-1ubuntu1) ... 380s Removing libvolume-key1:armhf (0.3.12-7build1) ... 380s Removing libnss3:armhf (2:3.98-1) ... 380s Removing libnspr4:armhf (2:4.35-1.1) ... 380s Removing libnvme1t64 (1.8-3) ... 380s Removing libpolkit-agent-1-0:armhf (124-1ubuntu1) ... 380s Removing linux-headers-6.8.0-11 (6.8.0-11.11) ... 383s Removing python3-lib2to3 (3.12.2-3ubuntu2) ... 384s Processing triggers for libc-bin (2.39-0ubuntu6) ... 384s (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 ... 58288 files and directories currently installed.) 384s Purging configuration files for libblockdev3:armhf (3.1.0-1build1) ... 387s autopkgtest [15:37:45]: rebooting testbed after setup commands that affected boot 432s autopkgtest [15:38:30]: testbed running kernel: Linux 5.4.0-171-generic #189-Ubuntu SMP Fri Jan 5 14:23:34 UTC 2024 458s autopkgtest [15:38:56]: @@@@@@@@@@@@@@@@@@@@ apt-source libjson-schema-modern-perl 470s Get:1 http://ftpmaster.internal/ubuntu noble/universe libjson-schema-modern-perl 0.582-1 (dsc) [3902 B] 470s Get:2 http://ftpmaster.internal/ubuntu noble/universe libjson-schema-modern-perl 0.582-1 (tar) [190 kB] 470s Get:3 http://ftpmaster.internal/ubuntu noble/universe libjson-schema-modern-perl 0.582-1 (diff) [6736 B] 471s gpgv: Signature made Sat Jan 27 02:35:25 2024 UTC 471s gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 471s gpgv: Can't check signature: No public key 471s dpkg-source: warning: cannot verify inline signature for ./libjson-schema-modern-perl_0.582-1.dsc: no acceptable signature found 471s autopkgtest [15:39:09]: testing package libjson-schema-modern-perl version 0.582-1 473s autopkgtest [15:39:11]: build not needed 478s autopkgtest [15:39:16]: test autodep8-perl-build-deps: preparing testbed 488s Reading package lists... 489s Building dependency tree... 489s Reading state information... 490s Starting pkgProblemResolver with broken count: 0 491s Starting 2 pkgProblemResolver with broken count: 0 491s Done 493s The following additional packages will be installed: 493s autoconf autodep8 automake autopoint autotools-dev build-essential cpp 493s cpp-13 cpp-13-arm-linux-gnueabihf cpp-arm-linux-gnueabihf dctrl-tools 493s debhelper debugedit dh-autoreconf dh-strip-nondeterminism dwz g++ g++-13 493s g++-13-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-13 493s gcc-13-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 493s javascript-common libalgorithm-c3-perl libarchive-zip-perl libasan8 493s libatomic1 libb-hooks-endofscope-perl libb-hooks-op-check-perl libc-dev-bin 493s libc6-dev libcc1-0 libclass-c3-perl libclass-data-inheritable-perl 493s libclass-inspector-perl libclass-method-modifiers-perl 493s libclass-singleton-perl libclass-tiny-perl libclass-xsaccessor-perl 493s libcpan-meta-check-perl libcpanel-json-xs-perl libcrypt-dev 493s libdata-optlist-perl libdata-validate-domain-perl 493s libdatetime-format-rfc3339-perl libdatetime-locale-perl libdatetime-perl 493s libdatetime-timezone-perl libdebhelper-perl libdevel-callchecker-perl 493s libdevel-cycle-perl libdevel-stacktrace-perl libdw1t64 493s libdynaloader-functions-perl libemail-address-xs-perl libeval-closure-perl 493s libexception-class-perl libexporter-tiny-perl libextutils-config-perl 493s libextutils-helpers-perl libextutils-installpaths-perl 493s libfeature-compat-try-perl libfile-copy-recursive-perl libfile-sharedir-perl 493s libfile-stripnondeterminism-perl libgcc-13-dev 493s libgetopt-long-descriptive-perl libgomp1 libimport-into-perl 493s libio-stringy-perl libisl23 libjs-bootstrap4 libjs-highlight.js libjs-jquery 493s libjs-popper.js libjson-maybexs-perl libjson-perl libjson-schema-modern-perl 493s libmodule-build-tiny-perl libmodule-implementation-perl 493s libmodule-runtime-perl libmojolicious-perl libmoo-perl libmoox-typetiny-perl 493s libmpc3 libmro-compat-perl libnamespace-autoclean-perl 493s libnamespace-clean-perl libnet-domain-tld-perl libnet-idn-encode-perl 493s libpackage-stash-perl libpadwalker-perl libparams-classify-perl 493s libparams-util-perl libparams-validate-perl 493s libparams-validationcompiler-perl libpath-tiny-perl libref-util-perl 493s librole-tiny-perl libsafe-isa-perl libscope-guard-perl 493s libsereal-decoder-perl libsereal-encoder-perl libspecio-perl 493s libstdc++-13-dev libstrictures-perl libsub-exporter-perl 493s libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl 493s libsub-name-perl libsub-override-perl libsub-quote-perl 493s libsyntax-keyword-try-perl libterm-table-perl libtest-deep-perl 493s libtest-deep-unorderedpairs-perl libtest-fatal-perl 493s libtest-file-sharedir-perl libtest-json-schema-acceptance-perl 493s libtest-memory-cycle-perl libtest-needs-perl libtest-warnings-perl 493s libtest-without-module-perl libtest2-suite-perl libtime-moment-perl libtool 493s libtry-tiny-perl libtype-tiny-perl libubsan1 libvariable-magic-perl 493s libxs-parse-keyword-perl libxstring-perl linux-libc-dev m4 493s pkg-perl-autopkgtest po-debconf rpcsvc-proto 493s Suggested packages: 493s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-13-locales 493s cpp-13-doc debtags dh-make gcc-13-doc gcc-multilib manpages-dev flex bison 493s gdb gcc-doc gdb-arm-linux-gnueabihf gettext-doc libasprintf-dev 493s libgettextpo-dev apache2 | lighttpd | httpd glibc-doc libscalar-number-perl 493s libstdc++-13-doc libbareword-filehandles-perl libindirect-perl 493s libmultidimensional-perl libtool-doc gfortran | fortran95-compiler gcj-jdk 493s libdevel-lexalias-perl m4-doc libmail-box-perl 493s Recommended packages: 493s manpages manpages-dev libc-devtools libclass-c3-xs-perl 493s libdevel-lexalias-perl libarchive-cpio-perl node-jquery libjson-xs-perl 493s libev-perl libfuture-asyncawait-perl libio-socket-socks-perl 493s libio-socket-ssl-perl libmojo-server-fastcgi-perl libpackage-stash-xs-perl 493s libunicode-utf8-perl libreadonly-perl libref-util-xs-perl 493s libunicode-linebreak-perl libmodule-pluggable-perl libltdl-dev 493s libtype-tiny-xs-perl libmail-sendmail-perl 494s The following NEW packages will be installed: 494s autoconf autodep8 automake autopkgtest-satdep autopoint autotools-dev 494s build-essential cpp cpp-13 cpp-13-arm-linux-gnueabihf 494s cpp-arm-linux-gnueabihf dctrl-tools debhelper debugedit dh-autoreconf 494s dh-strip-nondeterminism dwz g++ g++-13 g++-13-arm-linux-gnueabihf 494s g++-arm-linux-gnueabihf gcc gcc-13 gcc-13-arm-linux-gnueabihf 494s gcc-arm-linux-gnueabihf gettext intltool-debian javascript-common 494s libalgorithm-c3-perl libarchive-zip-perl libasan8 libatomic1 494s libb-hooks-endofscope-perl libb-hooks-op-check-perl libc-dev-bin libc6-dev 494s libcc1-0 libclass-c3-perl libclass-data-inheritable-perl 494s libclass-inspector-perl libclass-method-modifiers-perl 494s libclass-singleton-perl libclass-tiny-perl libclass-xsaccessor-perl 494s libcpan-meta-check-perl libcpanel-json-xs-perl libcrypt-dev 494s libdata-optlist-perl libdata-validate-domain-perl 494s libdatetime-format-rfc3339-perl libdatetime-locale-perl libdatetime-perl 494s libdatetime-timezone-perl libdebhelper-perl libdevel-callchecker-perl 494s libdevel-cycle-perl libdevel-stacktrace-perl libdw1t64 494s libdynaloader-functions-perl libemail-address-xs-perl libeval-closure-perl 494s libexception-class-perl libexporter-tiny-perl libextutils-config-perl 494s libextutils-helpers-perl libextutils-installpaths-perl 494s libfeature-compat-try-perl libfile-copy-recursive-perl libfile-sharedir-perl 494s libfile-stripnondeterminism-perl libgcc-13-dev 494s libgetopt-long-descriptive-perl libgomp1 libimport-into-perl 494s libio-stringy-perl libisl23 libjs-bootstrap4 libjs-highlight.js libjs-jquery 494s libjs-popper.js libjson-maybexs-perl libjson-perl libjson-schema-modern-perl 494s libmodule-build-tiny-perl libmodule-implementation-perl 494s libmodule-runtime-perl libmojolicious-perl libmoo-perl libmoox-typetiny-perl 494s libmpc3 libmro-compat-perl libnamespace-autoclean-perl 494s libnamespace-clean-perl libnet-domain-tld-perl libnet-idn-encode-perl 494s libpackage-stash-perl libpadwalker-perl libparams-classify-perl 494s libparams-util-perl libparams-validate-perl 494s libparams-validationcompiler-perl libpath-tiny-perl libref-util-perl 494s librole-tiny-perl libsafe-isa-perl libscope-guard-perl 494s libsereal-decoder-perl libsereal-encoder-perl libspecio-perl 494s libstdc++-13-dev libstrictures-perl libsub-exporter-perl 494s libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl 494s libsub-name-perl libsub-override-perl libsub-quote-perl 494s libsyntax-keyword-try-perl libterm-table-perl libtest-deep-perl 494s libtest-deep-unorderedpairs-perl libtest-fatal-perl 494s libtest-file-sharedir-perl libtest-json-schema-acceptance-perl 494s libtest-memory-cycle-perl libtest-needs-perl libtest-warnings-perl 494s libtest-without-module-perl libtest2-suite-perl libtime-moment-perl libtool 494s libtry-tiny-perl libtype-tiny-perl libubsan1 libvariable-magic-perl 494s libxs-parse-keyword-perl libxstring-perl linux-libc-dev m4 494s pkg-perl-autopkgtest po-debconf rpcsvc-proto 494s 0 upgraded, 143 newly installed, 0 to remove and 1 not upgraded. 494s Need to get 60.0 MB/60.0 MB of archives. 494s After this operation, 200 MB of additional disk space will be used. 494s Get:1 /tmp/autopkgtest.BzCoE7/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [1144 B] 494s Get:2 http://ftpmaster.internal/ubuntu noble/main armhf m4 armhf 1.4.19-4 [235 kB] 495s Get:3 http://ftpmaster.internal/ubuntu noble/main armhf autoconf all 2.71-3 [339 kB] 495s Get:4 http://ftpmaster.internal/ubuntu noble/main armhf dctrl-tools armhf 2.24-3build2 [57.2 kB] 495s Get:5 http://ftpmaster.internal/ubuntu noble/main armhf autodep8 all 0.28 [13.2 kB] 495s Get:6 http://ftpmaster.internal/ubuntu noble/main armhf autotools-dev all 20220109.1 [44.9 kB] 495s Get:7 http://ftpmaster.internal/ubuntu noble/main armhf automake all 1:1.16.5-1.3ubuntu1 [558 kB] 495s Get:8 http://ftpmaster.internal/ubuntu noble/main armhf autopoint all 0.21-14ubuntu1 [422 kB] 495s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libc-dev-bin armhf 2.39-0ubuntu6 [19.1 kB] 495s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-libc-dev armhf 6.8.0-20.20 [1555 kB] 495s Get:11 http://ftpmaster.internal/ubuntu noble/main armhf libcrypt-dev armhf 1:4.4.36-4 [136 kB] 495s Get:12 http://ftpmaster.internal/ubuntu noble/main armhf rpcsvc-proto armhf 1.4.2-0ubuntu6 [63.7 kB] 495s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libc6-dev armhf 2.39-0ubuntu6 [1351 kB] 495s Get:14 http://ftpmaster.internal/ubuntu noble/main armhf libisl23 armhf 0.26-3 [595 kB] 495s Get:15 http://ftpmaster.internal/ubuntu noble/main armhf libmpc3 armhf 1.3.1-1 [46.4 kB] 495s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/main armhf cpp-13-arm-linux-gnueabihf armhf 13.2.0-19ubuntu1 [8753 kB] 496s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/main armhf cpp-13 armhf 13.2.0-19ubuntu1 [1036 B] 496s Get:18 http://ftpmaster.internal/ubuntu noble/main armhf cpp-arm-linux-gnueabihf armhf 4:13.2.0-7ubuntu1 [5320 B] 496s Get:19 http://ftpmaster.internal/ubuntu noble/main armhf cpp armhf 4:13.2.0-7ubuntu1 [22.4 kB] 496s Get:20 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcc1-0 armhf 14-20240315-1ubuntu1 [39.0 kB] 496s Get:21 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgomp1 armhf 14-20240315-1ubuntu1 [125 kB] 496s Get:22 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libatomic1 armhf 14-20240315-1ubuntu1 [7824 B] 496s Get:23 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libasan8 armhf 14-20240315-1ubuntu1 [2941 kB] 496s Get:24 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libubsan1 armhf 14-20240315-1ubuntu1 [1152 kB] 496s Get:25 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgcc-13-dev armhf 13.2.0-19ubuntu1 [900 kB] 496s Get:26 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gcc-13-arm-linux-gnueabihf armhf 13.2.0-19ubuntu1 [16.8 MB] 497s Get:27 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gcc-13 armhf 13.2.0-19ubuntu1 [448 kB] 497s Get:28 http://ftpmaster.internal/ubuntu noble/main armhf gcc-arm-linux-gnueabihf armhf 4:13.2.0-7ubuntu1 [1220 B] 497s Get:29 http://ftpmaster.internal/ubuntu noble/main armhf gcc armhf 4:13.2.0-7ubuntu1 [5022 B] 497s Get:30 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libstdc++-13-dev armhf 13.2.0-19ubuntu1 [2403 kB] 497s Get:31 http://ftpmaster.internal/ubuntu noble-proposed/main armhf g++-13-arm-linux-gnueabihf armhf 13.2.0-19ubuntu1 [9935 kB] 497s Get:32 http://ftpmaster.internal/ubuntu noble-proposed/main armhf g++-13 armhf 13.2.0-19ubuntu1 [14.5 kB] 497s Get:33 http://ftpmaster.internal/ubuntu noble/main armhf g++-arm-linux-gnueabihf armhf 4:13.2.0-7ubuntu1 [966 B] 497s Get:34 http://ftpmaster.internal/ubuntu noble/main armhf g++ armhf 4:13.2.0-7ubuntu1 [1090 B] 497s Get:35 http://ftpmaster.internal/ubuntu noble/main armhf build-essential armhf 12.10ubuntu1 [4928 B] 497s Get:36 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdebhelper-perl all 13.14.1ubuntu5 [89.8 kB] 497s Get:37 http://ftpmaster.internal/ubuntu noble/main armhf libtool all 2.4.7-7 [166 kB] 497s Get:38 http://ftpmaster.internal/ubuntu noble/main armhf dh-autoreconf all 20 [16.1 kB] 497s Get:39 http://ftpmaster.internal/ubuntu noble/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 497s Get:40 http://ftpmaster.internal/ubuntu noble/main armhf libsub-override-perl all 0.10-1 [10.0 kB] 498s Get:41 http://ftpmaster.internal/ubuntu noble/main armhf libfile-stripnondeterminism-perl all 1.13.1-1 [18.1 kB] 498s Get:42 http://ftpmaster.internal/ubuntu noble/main armhf dh-strip-nondeterminism all 1.13.1-1 [5362 B] 498s Get:43 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdw1t64 armhf 0.190-1.1build2 [235 kB] 498s Get:44 http://ftpmaster.internal/ubuntu noble-proposed/main armhf debugedit armhf 1:5.0-5build1 [42.2 kB] 498s Get:45 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dwz armhf 0.15-1build5 [116 kB] 498s Get:46 http://ftpmaster.internal/ubuntu noble/main armhf gettext armhf 0.21-14ubuntu1 [800 kB] 498s Get:47 http://ftpmaster.internal/ubuntu noble/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 498s Get:48 http://ftpmaster.internal/ubuntu noble/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 498s Get:49 http://ftpmaster.internal/ubuntu noble-proposed/main armhf debhelper all 13.14.1ubuntu5 [869 kB] 498s Get:50 http://ftpmaster.internal/ubuntu noble/main armhf javascript-common all 11+nmu1 [5936 B] 498s Get:51 http://ftpmaster.internal/ubuntu noble/universe armhf libalgorithm-c3-perl all 0.11-2 [10.2 kB] 498s Get:52 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libb-hooks-op-check-perl armhf 0.22-3 [9184 B] 498s Get:53 http://ftpmaster.internal/ubuntu noble/main armhf libdynaloader-functions-perl all 0.003-3 [12.1 kB] 498s Get:54 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdevel-callchecker-perl armhf 0.008-2build2 [13.3 kB] 498s Get:55 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparams-classify-perl armhf 0.015-2build4 [18.7 kB] 498s Get:56 http://ftpmaster.internal/ubuntu noble/main armhf libmodule-runtime-perl all 0.016-2 [16.4 kB] 498s Get:57 http://ftpmaster.internal/ubuntu noble/main armhf libtry-tiny-perl all 0.31-2 [20.8 kB] 498s Get:58 http://ftpmaster.internal/ubuntu noble/main armhf libmodule-implementation-perl all 0.09-2 [12.0 kB] 498s Get:59 http://ftpmaster.internal/ubuntu noble/main armhf libsub-exporter-progressive-perl all 0.001013-3 [6718 B] 498s Get:60 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libvariable-magic-perl armhf 0.63-1build2 [32.2 kB] 498s Get:61 http://ftpmaster.internal/ubuntu noble/main armhf libb-hooks-endofscope-perl all 0.28-1 [15.8 kB] 498s Get:62 http://ftpmaster.internal/ubuntu noble/universe armhf libclass-c3-perl all 0.35-2 [18.4 kB] 498s Get:63 http://ftpmaster.internal/ubuntu noble/main armhf libclass-data-inheritable-perl all 0.08-3 [8084 B] 498s Get:64 http://ftpmaster.internal/ubuntu noble/universe armhf libclass-inspector-perl all 1.36-3 [15.4 kB] 498s Get:65 http://ftpmaster.internal/ubuntu noble/main armhf libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 498s Get:66 http://ftpmaster.internal/ubuntu noble/universe armhf libclass-singleton-perl all 1.6-2 [11.5 kB] 498s Get:67 http://ftpmaster.internal/ubuntu noble/universe armhf libclass-tiny-perl all 1.008-2 [16.4 kB] 498s Get:68 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libclass-xsaccessor-perl armhf 1.19-4build3 [32.4 kB] 498s Get:69 http://ftpmaster.internal/ubuntu noble/universe armhf libcpan-meta-check-perl all 0.017-1 [6456 B] 498s Get:70 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcpanel-json-xs-perl armhf 4.37-1build2 [112 kB] 498s Get:71 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparams-util-perl armhf 1.102-2build2 [20.3 kB] 498s Get:72 http://ftpmaster.internal/ubuntu noble/main armhf libsub-install-perl all 0.929-1 [9764 B] 498s Get:73 http://ftpmaster.internal/ubuntu noble/main armhf libdata-optlist-perl all 0.114-1 [9708 B] 498s Get:74 http://ftpmaster.internal/ubuntu noble/main armhf libnet-domain-tld-perl all 1.75-3 [29.4 kB] 498s Get:75 http://ftpmaster.internal/ubuntu noble/main armhf libdata-validate-domain-perl all 0.10-1.1 [9992 B] 498s Get:76 http://ftpmaster.internal/ubuntu noble/universe armhf libfile-sharedir-perl all 1.118-3 [14.0 kB] 498s Get:77 http://ftpmaster.internal/ubuntu noble/main armhf libpackage-stash-perl all 0.40-1 [19.5 kB] 498s Get:78 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsub-identify-perl armhf 0.14-3build2 [9250 B] 498s Get:79 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsub-name-perl armhf 0.27-1build2 [10.1 kB] 498s Get:80 http://ftpmaster.internal/ubuntu noble/main armhf libnamespace-clean-perl all 0.27-2 [14.0 kB] 498s Get:81 http://ftpmaster.internal/ubuntu noble/universe armhf libnamespace-autoclean-perl all 0.29-2 [11.7 kB] 498s Get:82 http://ftpmaster.internal/ubuntu noble/main armhf libsub-exporter-perl all 0.990-1 [49.0 kB] 498s Get:83 http://ftpmaster.internal/ubuntu noble/universe armhf libeval-closure-perl all 0.14-3 [10.1 kB] 498s Get:84 http://ftpmaster.internal/ubuntu noble/main armhf libdevel-stacktrace-perl all 2.0500-1 [22.1 kB] 498s Get:85 http://ftpmaster.internal/ubuntu noble/main armhf libexception-class-perl all 1.45-1 [28.6 kB] 498s Get:86 http://ftpmaster.internal/ubuntu noble/universe armhf libparams-validationcompiler-perl all 0.31-1 [28.3 kB] 498s Get:87 http://ftpmaster.internal/ubuntu noble/universe armhf libmro-compat-perl all 0.15-2 [10.1 kB] 498s Get:88 http://ftpmaster.internal/ubuntu noble/main armhf librole-tiny-perl all 2.002004-1 [16.3 kB] 498s Get:89 http://ftpmaster.internal/ubuntu noble/main armhf libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 498s Get:90 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf libxstring-perl armhf 0.005-2build2 [7478 B] 498s Get:91 http://ftpmaster.internal/ubuntu noble/universe armhf libspecio-perl all 0.48-1 [137 kB] 498s Get:92 http://ftpmaster.internal/ubuntu noble/universe armhf libdatetime-locale-perl all 1:1.37-1 [2833 kB] 498s Get:93 http://ftpmaster.internal/ubuntu noble/universe armhf libdatetime-timezone-perl all 1:2.62-1+2024a [262 kB] 498s Get:94 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf libdatetime-perl armhf 2:1.65-1build1 [97.9 kB] 498s Get:95 http://ftpmaster.internal/ubuntu noble/universe armhf libdatetime-format-rfc3339-perl all 1.8.0-1 [8156 B] 498s Get:96 http://ftpmaster.internal/ubuntu noble/universe armhf libdevel-cycle-perl all 1.12-2 [10.1 kB] 498s Get:97 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libemail-address-xs-perl armhf 1.05-1build3 [26.2 kB] 498s Get:98 http://ftpmaster.internal/ubuntu noble/main armhf libexporter-tiny-perl all 1.006002-1 [36.8 kB] 498s Get:99 http://ftpmaster.internal/ubuntu noble/universe armhf libextutils-config-perl all 0.008-4 [5026 B] 498s Get:100 http://ftpmaster.internal/ubuntu noble/universe armhf libextutils-helpers-perl all 0.026-4 [10.9 kB] 498s Get:101 http://ftpmaster.internal/ubuntu noble/universe armhf libextutils-installpaths-perl all 0.012-1.1 [13.3 kB] 498s Get:102 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxs-parse-keyword-perl armhf 0.39-1build2 [51.9 kB] 499s Get:103 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsyntax-keyword-try-perl armhf 0.29-1build2 [23.8 kB] 499s Get:104 http://ftpmaster.internal/ubuntu noble/universe armhf libfeature-compat-try-perl all 0.05-1 [9998 B] 499s Get:105 http://ftpmaster.internal/ubuntu noble/universe armhf libfile-copy-recursive-perl all 0.45-4 [16.5 kB] 499s Get:106 http://ftpmaster.internal/ubuntu noble/main armhf libio-stringy-perl all 2.111-3 [55.8 kB] 499s Get:107 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparams-validate-perl armhf 1.31-2build2 [52.9 kB] 499s Get:108 http://ftpmaster.internal/ubuntu noble/main armhf libgetopt-long-descriptive-perl all 0.111-1 [25.5 kB] 499s Get:109 http://ftpmaster.internal/ubuntu noble/main armhf libimport-into-perl all 1.002005-2 [10.7 kB] 499s Get:110 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-popper.js all 1.16.1+ds-6 [54.1 kB] 499s Get:111 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-bootstrap4 all 4.6.1+dfsg1-4 [537 kB] 499s Get:112 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-highlight.js all 9.18.5+dfsg1-2 [385 kB] 499s Get:113 http://ftpmaster.internal/ubuntu noble/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 499s Get:114 http://ftpmaster.internal/ubuntu noble/main armhf libjson-maybexs-perl all 1.004005-1 [11.3 kB] 499s Get:115 http://ftpmaster.internal/ubuntu noble/main armhf libjson-perl all 4.10000-1 [81.9 kB] 499s Get:116 http://ftpmaster.internal/ubuntu noble/universe armhf libmojolicious-perl all 9.35+dfsg-1 [792 kB] 499s Get:117 http://ftpmaster.internal/ubuntu noble/main armhf libmoo-perl all 2.005005-1 [47.4 kB] 499s Get:118 http://ftpmaster.internal/ubuntu noble/universe armhf libtype-tiny-perl all 2.004000-1 [354 kB] 499s Get:119 http://ftpmaster.internal/ubuntu noble/universe armhf libmoox-typetiny-perl all 0.002003-4 [5930 B] 499s Get:120 http://ftpmaster.internal/ubuntu noble/main armhf libpath-tiny-perl all 0.144-1 [47.7 kB] 499s Get:121 http://ftpmaster.internal/ubuntu noble/universe armhf libref-util-perl all 0.204-2 [15.1 kB] 499s Get:122 http://ftpmaster.internal/ubuntu noble/universe armhf libsafe-isa-perl all 1.000010-1 [7684 B] 499s Get:123 http://ftpmaster.internal/ubuntu noble/main armhf libstrictures-perl all 2.000006-1 [16.3 kB] 499s Get:124 http://ftpmaster.internal/ubuntu noble/universe armhf libjson-schema-modern-perl all 0.582-1 [93.0 kB] 499s Get:125 http://ftpmaster.internal/ubuntu noble/universe armhf libmodule-build-tiny-perl all 0.047-1 [10.4 kB] 499s Get:126 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf libnet-idn-encode-perl armhf 2.500-3build2 [83.4 kB] 499s Get:127 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf libpadwalker-perl armhf 2.5-1build5 [13.8 kB] 499s Get:128 http://ftpmaster.internal/ubuntu noble/universe armhf libscope-guard-perl all 0.21-2 [7730 B] 499s Get:129 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsereal-decoder-perl armhf 5.004+ds-1build2 [92.6 kB] 499s Get:130 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsereal-encoder-perl armhf 5.004+ds-1build2 [94.3 kB] 499s Get:131 http://ftpmaster.internal/ubuntu noble/universe armhf libterm-table-perl all 0.018-1 [28.4 kB] 499s Get:132 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-deep-perl all 1.204-1 [47.1 kB] 499s Get:133 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-deep-unorderedpairs-perl all 0.006-3 [9052 B] 499s Get:134 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-fatal-perl all 0.017-1 [12.2 kB] 499s Get:135 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-file-sharedir-perl all 1.001002-2 [26.3 kB] 499s Get:136 http://ftpmaster.internal/ubuntu noble/universe armhf libtest2-suite-perl all 0.000159-1 [397 kB] 499s Get:137 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-json-schema-acceptance-perl all 1.021-1 [87.4 kB] 499s Get:138 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-memory-cycle-perl all 1.06-2 [11.0 kB] 499s Get:139 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-needs-perl all 0.002010-1 [8530 B] 499s Get:140 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-warnings-perl all 0.033-1 [18.9 kB] 499s Get:141 http://ftpmaster.internal/ubuntu noble/universe armhf libtest-without-module-perl all 0.21-1 [6728 B] 499s Get:142 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtime-moment-perl armhf 0.44-2build3 [70.4 kB] 499s Get:143 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf pkg-perl-autopkgtest all 0.78 [18.3 kB] 503s Fetched 60.0 MB in 5s (10.9 MB/s) 503s Selecting previously unselected package m4. 503s (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 ... 58284 files and directories currently installed.) 503s Preparing to unpack .../000-m4_1.4.19-4_armhf.deb ... 503s Unpacking m4 (1.4.19-4) ... 503s Selecting previously unselected package autoconf. 503s Preparing to unpack .../001-autoconf_2.71-3_all.deb ... 503s Unpacking autoconf (2.71-3) ... 503s Selecting previously unselected package dctrl-tools. 503s Preparing to unpack .../002-dctrl-tools_2.24-3build2_armhf.deb ... 503s Unpacking dctrl-tools (2.24-3build2) ... 503s Selecting previously unselected package autodep8. 503s Preparing to unpack .../003-autodep8_0.28_all.deb ... 503s Unpacking autodep8 (0.28) ... 503s Selecting previously unselected package autotools-dev. 503s Preparing to unpack .../004-autotools-dev_20220109.1_all.deb ... 503s Unpacking autotools-dev (20220109.1) ... 503s Selecting previously unselected package automake. 503s Preparing to unpack .../005-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 503s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 504s Selecting previously unselected package autopoint. 504s Preparing to unpack .../006-autopoint_0.21-14ubuntu1_all.deb ... 504s Unpacking autopoint (0.21-14ubuntu1) ... 504s Selecting previously unselected package libc-dev-bin. 504s Preparing to unpack .../007-libc-dev-bin_2.39-0ubuntu6_armhf.deb ... 504s Unpacking libc-dev-bin (2.39-0ubuntu6) ... 504s Selecting previously unselected package linux-libc-dev:armhf. 504s Preparing to unpack .../008-linux-libc-dev_6.8.0-20.20_armhf.deb ... 504s Unpacking linux-libc-dev:armhf (6.8.0-20.20) ... 504s Selecting previously unselected package libcrypt-dev:armhf. 504s Preparing to unpack .../009-libcrypt-dev_1%3a4.4.36-4_armhf.deb ... 504s Unpacking libcrypt-dev:armhf (1:4.4.36-4) ... 504s Selecting previously unselected package rpcsvc-proto. 504s Preparing to unpack .../010-rpcsvc-proto_1.4.2-0ubuntu6_armhf.deb ... 504s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 504s Selecting previously unselected package libc6-dev:armhf. 505s Preparing to unpack .../011-libc6-dev_2.39-0ubuntu6_armhf.deb ... 505s Unpacking libc6-dev:armhf (2.39-0ubuntu6) ... 505s Selecting previously unselected package libisl23:armhf. 505s Preparing to unpack .../012-libisl23_0.26-3_armhf.deb ... 505s Unpacking libisl23:armhf (0.26-3) ... 505s Selecting previously unselected package libmpc3:armhf. 505s Preparing to unpack .../013-libmpc3_1.3.1-1_armhf.deb ... 505s Unpacking libmpc3:armhf (1.3.1-1) ... 505s Selecting previously unselected package cpp-13-arm-linux-gnueabihf. 505s Preparing to unpack .../014-cpp-13-arm-linux-gnueabihf_13.2.0-19ubuntu1_armhf.deb ... 505s Unpacking cpp-13-arm-linux-gnueabihf (13.2.0-19ubuntu1) ... 506s Selecting previously unselected package cpp-13. 506s Preparing to unpack .../015-cpp-13_13.2.0-19ubuntu1_armhf.deb ... 506s Unpacking cpp-13 (13.2.0-19ubuntu1) ... 506s Selecting previously unselected package cpp-arm-linux-gnueabihf. 506s Preparing to unpack .../016-cpp-arm-linux-gnueabihf_4%3a13.2.0-7ubuntu1_armhf.deb ... 506s Unpacking cpp-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 506s Selecting previously unselected package cpp. 506s Preparing to unpack .../017-cpp_4%3a13.2.0-7ubuntu1_armhf.deb ... 506s Unpacking cpp (4:13.2.0-7ubuntu1) ... 506s Selecting previously unselected package libcc1-0:armhf. 506s Preparing to unpack .../018-libcc1-0_14-20240315-1ubuntu1_armhf.deb ... 506s Unpacking libcc1-0:armhf (14-20240315-1ubuntu1) ... 506s Selecting previously unselected package libgomp1:armhf. 506s Preparing to unpack .../019-libgomp1_14-20240315-1ubuntu1_armhf.deb ... 506s Unpacking libgomp1:armhf (14-20240315-1ubuntu1) ... 506s Selecting previously unselected package libatomic1:armhf. 506s Preparing to unpack .../020-libatomic1_14-20240315-1ubuntu1_armhf.deb ... 506s Unpacking libatomic1:armhf (14-20240315-1ubuntu1) ... 506s Selecting previously unselected package libasan8:armhf. 506s Preparing to unpack .../021-libasan8_14-20240315-1ubuntu1_armhf.deb ... 506s Unpacking libasan8:armhf (14-20240315-1ubuntu1) ... 506s Selecting previously unselected package libubsan1:armhf. 506s Preparing to unpack .../022-libubsan1_14-20240315-1ubuntu1_armhf.deb ... 506s Unpacking libubsan1:armhf (14-20240315-1ubuntu1) ... 507s Selecting previously unselected package libgcc-13-dev:armhf. 507s Preparing to unpack .../023-libgcc-13-dev_13.2.0-19ubuntu1_armhf.deb ... 507s Unpacking libgcc-13-dev:armhf (13.2.0-19ubuntu1) ... 507s Selecting previously unselected package gcc-13-arm-linux-gnueabihf. 507s Preparing to unpack .../024-gcc-13-arm-linux-gnueabihf_13.2.0-19ubuntu1_armhf.deb ... 507s Unpacking gcc-13-arm-linux-gnueabihf (13.2.0-19ubuntu1) ... 508s Selecting previously unselected package gcc-13. 508s Preparing to unpack .../025-gcc-13_13.2.0-19ubuntu1_armhf.deb ... 508s Unpacking gcc-13 (13.2.0-19ubuntu1) ... 508s Selecting previously unselected package gcc-arm-linux-gnueabihf. 508s Preparing to unpack .../026-gcc-arm-linux-gnueabihf_4%3a13.2.0-7ubuntu1_armhf.deb ... 508s Unpacking gcc-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 508s Selecting previously unselected package gcc. 508s Preparing to unpack .../027-gcc_4%3a13.2.0-7ubuntu1_armhf.deb ... 508s Unpacking gcc (4:13.2.0-7ubuntu1) ... 508s Selecting previously unselected package libstdc++-13-dev:armhf. 508s Preparing to unpack .../028-libstdc++-13-dev_13.2.0-19ubuntu1_armhf.deb ... 508s Unpacking libstdc++-13-dev:armhf (13.2.0-19ubuntu1) ... 509s Selecting previously unselected package g++-13-arm-linux-gnueabihf. 509s Preparing to unpack .../029-g++-13-arm-linux-gnueabihf_13.2.0-19ubuntu1_armhf.deb ... 509s Unpacking g++-13-arm-linux-gnueabihf (13.2.0-19ubuntu1) ... 509s Selecting previously unselected package g++-13. 509s Preparing to unpack .../030-g++-13_13.2.0-19ubuntu1_armhf.deb ... 509s Unpacking g++-13 (13.2.0-19ubuntu1) ... 509s Selecting previously unselected package g++-arm-linux-gnueabihf. 509s Preparing to unpack .../031-g++-arm-linux-gnueabihf_4%3a13.2.0-7ubuntu1_armhf.deb ... 509s Unpacking g++-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 510s Selecting previously unselected package g++. 510s Preparing to unpack .../032-g++_4%3a13.2.0-7ubuntu1_armhf.deb ... 510s Unpacking g++ (4:13.2.0-7ubuntu1) ... 510s Selecting previously unselected package build-essential. 510s Preparing to unpack .../033-build-essential_12.10ubuntu1_armhf.deb ... 510s Unpacking build-essential (12.10ubuntu1) ... 510s Selecting previously unselected package libdebhelper-perl. 510s Preparing to unpack .../034-libdebhelper-perl_13.14.1ubuntu5_all.deb ... 510s Unpacking libdebhelper-perl (13.14.1ubuntu5) ... 510s Selecting previously unselected package libtool. 510s Preparing to unpack .../035-libtool_2.4.7-7_all.deb ... 510s Unpacking libtool (2.4.7-7) ... 510s Selecting previously unselected package dh-autoreconf. 510s Preparing to unpack .../036-dh-autoreconf_20_all.deb ... 510s Unpacking dh-autoreconf (20) ... 510s Selecting previously unselected package libarchive-zip-perl. 510s Preparing to unpack .../037-libarchive-zip-perl_1.68-1_all.deb ... 510s Unpacking libarchive-zip-perl (1.68-1) ... 510s Selecting previously unselected package libsub-override-perl. 510s Preparing to unpack .../038-libsub-override-perl_0.10-1_all.deb ... 510s Unpacking libsub-override-perl (0.10-1) ... 510s Selecting previously unselected package libfile-stripnondeterminism-perl. 510s Preparing to unpack .../039-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... 510s Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... 510s Selecting previously unselected package dh-strip-nondeterminism. 510s Preparing to unpack .../040-dh-strip-nondeterminism_1.13.1-1_all.deb ... 510s Unpacking dh-strip-nondeterminism (1.13.1-1) ... 510s Selecting previously unselected package libdw1t64:armhf. 510s Preparing to unpack .../041-libdw1t64_0.190-1.1build2_armhf.deb ... 510s Unpacking libdw1t64:armhf (0.190-1.1build2) ... 511s Selecting previously unselected package debugedit. 511s Preparing to unpack .../042-debugedit_1%3a5.0-5build1_armhf.deb ... 511s Unpacking debugedit (1:5.0-5build1) ... 511s Selecting previously unselected package dwz. 511s Preparing to unpack .../043-dwz_0.15-1build5_armhf.deb ... 511s Unpacking dwz (0.15-1build5) ... 511s Selecting previously unselected package gettext. 511s Preparing to unpack .../044-gettext_0.21-14ubuntu1_armhf.deb ... 511s Unpacking gettext (0.21-14ubuntu1) ... 511s Selecting previously unselected package intltool-debian. 511s Preparing to unpack .../045-intltool-debian_0.35.0+20060710.6_all.deb ... 511s Unpacking intltool-debian (0.35.0+20060710.6) ... 511s Selecting previously unselected package po-debconf. 511s Preparing to unpack .../046-po-debconf_1.0.21+nmu1_all.deb ... 511s Unpacking po-debconf (1.0.21+nmu1) ... 511s Selecting previously unselected package debhelper. 511s Preparing to unpack .../047-debhelper_13.14.1ubuntu5_all.deb ... 511s Unpacking debhelper (13.14.1ubuntu5) ... 511s Selecting previously unselected package javascript-common. 511s Preparing to unpack .../048-javascript-common_11+nmu1_all.deb ... 512s Unpacking javascript-common (11+nmu1) ... 512s Selecting previously unselected package libalgorithm-c3-perl. 512s Preparing to unpack .../049-libalgorithm-c3-perl_0.11-2_all.deb ... 512s Unpacking libalgorithm-c3-perl (0.11-2) ... 512s Selecting previously unselected package libb-hooks-op-check-perl:armhf. 512s Preparing to unpack .../050-libb-hooks-op-check-perl_0.22-3_armhf.deb ... 512s Unpacking libb-hooks-op-check-perl:armhf (0.22-3) ... 512s Selecting previously unselected package libdynaloader-functions-perl. 512s Preparing to unpack .../051-libdynaloader-functions-perl_0.003-3_all.deb ... 512s Unpacking libdynaloader-functions-perl (0.003-3) ... 512s Selecting previously unselected package libdevel-callchecker-perl:armhf. 512s Preparing to unpack .../052-libdevel-callchecker-perl_0.008-2build2_armhf.deb ... 512s Unpacking libdevel-callchecker-perl:armhf (0.008-2build2) ... 512s Selecting previously unselected package libparams-classify-perl:armhf. 512s Preparing to unpack .../053-libparams-classify-perl_0.015-2build4_armhf.deb ... 512s Unpacking libparams-classify-perl:armhf (0.015-2build4) ... 512s Selecting previously unselected package libmodule-runtime-perl. 512s Preparing to unpack .../054-libmodule-runtime-perl_0.016-2_all.deb ... 512s Unpacking libmodule-runtime-perl (0.016-2) ... 512s Selecting previously unselected package libtry-tiny-perl. 512s Preparing to unpack .../055-libtry-tiny-perl_0.31-2_all.deb ... 512s Unpacking libtry-tiny-perl (0.31-2) ... 512s Selecting previously unselected package libmodule-implementation-perl. 512s Preparing to unpack .../056-libmodule-implementation-perl_0.09-2_all.deb ... 512s Unpacking libmodule-implementation-perl (0.09-2) ... 512s Selecting previously unselected package libsub-exporter-progressive-perl. 512s Preparing to unpack .../057-libsub-exporter-progressive-perl_0.001013-3_all.deb ... 512s Unpacking libsub-exporter-progressive-perl (0.001013-3) ... 513s Selecting previously unselected package libvariable-magic-perl. 513s Preparing to unpack .../058-libvariable-magic-perl_0.63-1build2_armhf.deb ... 513s Unpacking libvariable-magic-perl (0.63-1build2) ... 513s Selecting previously unselected package libb-hooks-endofscope-perl. 513s Preparing to unpack .../059-libb-hooks-endofscope-perl_0.28-1_all.deb ... 513s Unpacking libb-hooks-endofscope-perl (0.28-1) ... 513s Selecting previously unselected package libclass-c3-perl. 513s Preparing to unpack .../060-libclass-c3-perl_0.35-2_all.deb ... 513s Unpacking libclass-c3-perl (0.35-2) ... 513s Selecting previously unselected package libclass-data-inheritable-perl. 513s Preparing to unpack .../061-libclass-data-inheritable-perl_0.08-3_all.deb ... 513s Unpacking libclass-data-inheritable-perl (0.08-3) ... 513s Selecting previously unselected package libclass-inspector-perl. 513s Preparing to unpack .../062-libclass-inspector-perl_1.36-3_all.deb ... 513s Unpacking libclass-inspector-perl (1.36-3) ... 513s Selecting previously unselected package libclass-method-modifiers-perl. 513s Preparing to unpack .../063-libclass-method-modifiers-perl_2.15-1_all.deb ... 513s Unpacking libclass-method-modifiers-perl (2.15-1) ... 513s Selecting previously unselected package libclass-singleton-perl. 513s Preparing to unpack .../064-libclass-singleton-perl_1.6-2_all.deb ... 513s Unpacking libclass-singleton-perl (1.6-2) ... 513s Selecting previously unselected package libclass-tiny-perl. 513s Preparing to unpack .../065-libclass-tiny-perl_1.008-2_all.deb ... 513s Unpacking libclass-tiny-perl (1.008-2) ... 513s Selecting previously unselected package libclass-xsaccessor-perl. 513s Preparing to unpack .../066-libclass-xsaccessor-perl_1.19-4build3_armhf.deb ... 513s Unpacking libclass-xsaccessor-perl (1.19-4build3) ... 513s Selecting previously unselected package libcpan-meta-check-perl. 514s Preparing to unpack .../067-libcpan-meta-check-perl_0.017-1_all.deb ... 514s Unpacking libcpan-meta-check-perl (0.017-1) ... 514s Selecting previously unselected package libcpanel-json-xs-perl:armhf. 514s Preparing to unpack .../068-libcpanel-json-xs-perl_4.37-1build2_armhf.deb ... 514s Unpacking libcpanel-json-xs-perl:armhf (4.37-1build2) ... 514s Selecting previously unselected package libparams-util-perl. 514s Preparing to unpack .../069-libparams-util-perl_1.102-2build2_armhf.deb ... 514s Unpacking libparams-util-perl (1.102-2build2) ... 514s Selecting previously unselected package libsub-install-perl. 514s Preparing to unpack .../070-libsub-install-perl_0.929-1_all.deb ... 514s Unpacking libsub-install-perl (0.929-1) ... 514s Selecting previously unselected package libdata-optlist-perl. 514s Preparing to unpack .../071-libdata-optlist-perl_0.114-1_all.deb ... 514s Unpacking libdata-optlist-perl (0.114-1) ... 514s Selecting previously unselected package libnet-domain-tld-perl. 514s Preparing to unpack .../072-libnet-domain-tld-perl_1.75-3_all.deb ... 514s Unpacking libnet-domain-tld-perl (1.75-3) ... 514s Selecting previously unselected package libdata-validate-domain-perl. 514s Preparing to unpack .../073-libdata-validate-domain-perl_0.10-1.1_all.deb ... 514s Unpacking libdata-validate-domain-perl (0.10-1.1) ... 514s Selecting previously unselected package libfile-sharedir-perl. 514s Preparing to unpack .../074-libfile-sharedir-perl_1.118-3_all.deb ... 514s Unpacking libfile-sharedir-perl (1.118-3) ... 514s Selecting previously unselected package libpackage-stash-perl. 514s Preparing to unpack .../075-libpackage-stash-perl_0.40-1_all.deb ... 514s Unpacking libpackage-stash-perl (0.40-1) ... 514s Selecting previously unselected package libsub-identify-perl. 514s Preparing to unpack .../076-libsub-identify-perl_0.14-3build2_armhf.deb ... 514s Unpacking libsub-identify-perl (0.14-3build2) ... 514s Selecting previously unselected package libsub-name-perl:armhf. 514s Preparing to unpack .../077-libsub-name-perl_0.27-1build2_armhf.deb ... 514s Unpacking libsub-name-perl:armhf (0.27-1build2) ... 515s Selecting previously unselected package libnamespace-clean-perl. 515s Preparing to unpack .../078-libnamespace-clean-perl_0.27-2_all.deb ... 515s Unpacking libnamespace-clean-perl (0.27-2) ... 515s Selecting previously unselected package libnamespace-autoclean-perl. 515s Preparing to unpack .../079-libnamespace-autoclean-perl_0.29-2_all.deb ... 515s Unpacking libnamespace-autoclean-perl (0.29-2) ... 515s Selecting previously unselected package libsub-exporter-perl. 515s Preparing to unpack .../080-libsub-exporter-perl_0.990-1_all.deb ... 515s Unpacking libsub-exporter-perl (0.990-1) ... 515s Selecting previously unselected package libeval-closure-perl. 515s Preparing to unpack .../081-libeval-closure-perl_0.14-3_all.deb ... 515s Unpacking libeval-closure-perl (0.14-3) ... 515s Selecting previously unselected package libdevel-stacktrace-perl. 515s Preparing to unpack .../082-libdevel-stacktrace-perl_2.0500-1_all.deb ... 515s Unpacking libdevel-stacktrace-perl (2.0500-1) ... 515s Selecting previously unselected package libexception-class-perl. 515s Preparing to unpack .../083-libexception-class-perl_1.45-1_all.deb ... 515s Unpacking libexception-class-perl (1.45-1) ... 515s Selecting previously unselected package libparams-validationcompiler-perl. 515s Preparing to unpack .../084-libparams-validationcompiler-perl_0.31-1_all.deb ... 515s Unpacking libparams-validationcompiler-perl (0.31-1) ... 515s Selecting previously unselected package libmro-compat-perl. 515s Preparing to unpack .../085-libmro-compat-perl_0.15-2_all.deb ... 515s Unpacking libmro-compat-perl (0.15-2) ... 515s Selecting previously unselected package librole-tiny-perl. 515s Preparing to unpack .../086-librole-tiny-perl_2.002004-1_all.deb ... 515s Unpacking librole-tiny-perl (2.002004-1) ... 515s Selecting previously unselected package libsub-quote-perl. 516s Preparing to unpack .../087-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 516s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 516s Selecting previously unselected package libxstring-perl:armhf. 516s Preparing to unpack .../088-libxstring-perl_0.005-2build2_armhf.deb ... 516s Unpacking libxstring-perl:armhf (0.005-2build2) ... 516s Selecting previously unselected package libspecio-perl. 516s Preparing to unpack .../089-libspecio-perl_0.48-1_all.deb ... 516s Unpacking libspecio-perl (0.48-1) ... 516s Selecting previously unselected package libdatetime-locale-perl. 516s Preparing to unpack .../090-libdatetime-locale-perl_1%3a1.37-1_all.deb ... 516s Unpacking libdatetime-locale-perl (1:1.37-1) ... 518s Selecting previously unselected package libdatetime-timezone-perl. 518s Preparing to unpack .../091-libdatetime-timezone-perl_1%3a2.62-1+2024a_all.deb ... 518s Unpacking libdatetime-timezone-perl (1:2.62-1+2024a) ... 518s Selecting previously unselected package libdatetime-perl. 518s Preparing to unpack .../092-libdatetime-perl_2%3a1.65-1build1_armhf.deb ... 518s Unpacking libdatetime-perl (2:1.65-1build1) ... 519s Selecting previously unselected package libdatetime-format-rfc3339-perl. 519s Preparing to unpack .../093-libdatetime-format-rfc3339-perl_1.8.0-1_all.deb ... 519s Unpacking libdatetime-format-rfc3339-perl (1.8.0-1) ... 519s Selecting previously unselected package libdevel-cycle-perl. 519s Preparing to unpack .../094-libdevel-cycle-perl_1.12-2_all.deb ... 519s Unpacking libdevel-cycle-perl (1.12-2) ... 519s Selecting previously unselected package libemail-address-xs-perl. 519s Preparing to unpack .../095-libemail-address-xs-perl_1.05-1build3_armhf.deb ... 519s Unpacking libemail-address-xs-perl (1.05-1build3) ... 519s Selecting previously unselected package libexporter-tiny-perl. 519s Preparing to unpack .../096-libexporter-tiny-perl_1.006002-1_all.deb ... 519s Unpacking libexporter-tiny-perl (1.006002-1) ... 519s Selecting previously unselected package libextutils-config-perl. 519s Preparing to unpack .../097-libextutils-config-perl_0.008-4_all.deb ... 519s Unpacking libextutils-config-perl (0.008-4) ... 519s Selecting previously unselected package libextutils-helpers-perl. 519s Preparing to unpack .../098-libextutils-helpers-perl_0.026-4_all.deb ... 519s Unpacking libextutils-helpers-perl (0.026-4) ... 519s Selecting previously unselected package libextutils-installpaths-perl. 520s Preparing to unpack .../099-libextutils-installpaths-perl_0.012-1.1_all.deb ... 520s Unpacking libextutils-installpaths-perl (0.012-1.1) ... 520s Selecting previously unselected package libxs-parse-keyword-perl. 520s Preparing to unpack .../100-libxs-parse-keyword-perl_0.39-1build2_armhf.deb ... 520s Unpacking libxs-parse-keyword-perl (0.39-1build2) ... 520s Selecting previously unselected package libsyntax-keyword-try-perl. 520s Preparing to unpack .../101-libsyntax-keyword-try-perl_0.29-1build2_armhf.deb ... 520s Unpacking libsyntax-keyword-try-perl (0.29-1build2) ... 520s Selecting previously unselected package libfeature-compat-try-perl. 520s Preparing to unpack .../102-libfeature-compat-try-perl_0.05-1_all.deb ... 520s Unpacking libfeature-compat-try-perl (0.05-1) ... 520s Selecting previously unselected package libfile-copy-recursive-perl. 520s Preparing to unpack .../103-libfile-copy-recursive-perl_0.45-4_all.deb ... 520s Unpacking libfile-copy-recursive-perl (0.45-4) ... 520s Selecting previously unselected package libio-stringy-perl. 520s Preparing to unpack .../104-libio-stringy-perl_2.111-3_all.deb ... 520s Unpacking libio-stringy-perl (2.111-3) ... 520s Selecting previously unselected package libparams-validate-perl:armhf. 520s Preparing to unpack .../105-libparams-validate-perl_1.31-2build2_armhf.deb ... 520s Unpacking libparams-validate-perl:armhf (1.31-2build2) ... 520s Selecting previously unselected package libgetopt-long-descriptive-perl. 520s Preparing to unpack .../106-libgetopt-long-descriptive-perl_0.111-1_all.deb ... 520s Unpacking libgetopt-long-descriptive-perl (0.111-1) ... 520s Selecting previously unselected package libimport-into-perl. 520s Preparing to unpack .../107-libimport-into-perl_1.002005-2_all.deb ... 520s Unpacking libimport-into-perl (1.002005-2) ... 520s Selecting previously unselected package libjs-popper.js. 520s Preparing to unpack .../108-libjs-popper.js_1.16.1+ds-6_all.deb ... 521s Unpacking libjs-popper.js (1.16.1+ds-6) ... 521s Selecting previously unselected package libjs-bootstrap4. 521s Preparing to unpack .../109-libjs-bootstrap4_4.6.1+dfsg1-4_all.deb ... 521s Unpacking libjs-bootstrap4 (4.6.1+dfsg1-4) ... 521s Selecting previously unselected package libjs-highlight.js. 521s Preparing to unpack .../110-libjs-highlight.js_9.18.5+dfsg1-2_all.deb ... 521s Unpacking libjs-highlight.js (9.18.5+dfsg1-2) ... 521s Selecting previously unselected package libjs-jquery. 521s Preparing to unpack .../111-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 521s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 521s Selecting previously unselected package libjson-maybexs-perl. 521s Preparing to unpack .../112-libjson-maybexs-perl_1.004005-1_all.deb ... 521s Unpacking libjson-maybexs-perl (1.004005-1) ... 521s Selecting previously unselected package libjson-perl. 521s Preparing to unpack .../113-libjson-perl_4.10000-1_all.deb ... 521s Unpacking libjson-perl (4.10000-1) ... 521s Selecting previously unselected package libmojolicious-perl. 522s Preparing to unpack .../114-libmojolicious-perl_9.35+dfsg-1_all.deb ... 522s Unpacking libmojolicious-perl (9.35+dfsg-1) ... 522s Selecting previously unselected package libmoo-perl. 522s Preparing to unpack .../115-libmoo-perl_2.005005-1_all.deb ... 522s Unpacking libmoo-perl (2.005005-1) ... 522s Selecting previously unselected package libtype-tiny-perl. 522s Preparing to unpack .../116-libtype-tiny-perl_2.004000-1_all.deb ... 522s Unpacking libtype-tiny-perl (2.004000-1) ... 522s Selecting previously unselected package libmoox-typetiny-perl. 522s Preparing to unpack .../117-libmoox-typetiny-perl_0.002003-4_all.deb ... 522s Unpacking libmoox-typetiny-perl (0.002003-4) ... 522s Selecting previously unselected package libpath-tiny-perl. 522s Preparing to unpack .../118-libpath-tiny-perl_0.144-1_all.deb ... 522s Unpacking libpath-tiny-perl (0.144-1) ... 522s Selecting previously unselected package libref-util-perl. 522s Preparing to unpack .../119-libref-util-perl_0.204-2_all.deb ... 522s Unpacking libref-util-perl (0.204-2) ... 523s Selecting previously unselected package libsafe-isa-perl. 523s Preparing to unpack .../120-libsafe-isa-perl_1.000010-1_all.deb ... 523s Unpacking libsafe-isa-perl (1.000010-1) ... 523s Selecting previously unselected package libstrictures-perl. 523s Preparing to unpack .../121-libstrictures-perl_2.000006-1_all.deb ... 523s Unpacking libstrictures-perl (2.000006-1) ... 523s Selecting previously unselected package libjson-schema-modern-perl. 523s Preparing to unpack .../122-libjson-schema-modern-perl_0.582-1_all.deb ... 523s Unpacking libjson-schema-modern-perl (0.582-1) ... 523s Selecting previously unselected package libmodule-build-tiny-perl. 523s Preparing to unpack .../123-libmodule-build-tiny-perl_0.047-1_all.deb ... 523s Unpacking libmodule-build-tiny-perl (0.047-1) ... 523s Selecting previously unselected package libnet-idn-encode-perl. 523s Preparing to unpack .../124-libnet-idn-encode-perl_2.500-3build2_armhf.deb ... 523s Unpacking libnet-idn-encode-perl (2.500-3build2) ... 523s Selecting previously unselected package libpadwalker-perl. 523s Preparing to unpack .../125-libpadwalker-perl_2.5-1build5_armhf.deb ... 523s Unpacking libpadwalker-perl (2.5-1build5) ... 523s Selecting previously unselected package libscope-guard-perl. 523s Preparing to unpack .../126-libscope-guard-perl_0.21-2_all.deb ... 523s Unpacking libscope-guard-perl (0.21-2) ... 523s Selecting previously unselected package libsereal-decoder-perl. 523s Preparing to unpack .../127-libsereal-decoder-perl_5.004+ds-1build2_armhf.deb ... 523s Unpacking libsereal-decoder-perl (5.004+ds-1build2) ... 524s Selecting previously unselected package libsereal-encoder-perl. 524s Preparing to unpack .../128-libsereal-encoder-perl_5.004+ds-1build2_armhf.deb ... 524s Unpacking libsereal-encoder-perl (5.004+ds-1build2) ... 524s Selecting previously unselected package libterm-table-perl. 524s Preparing to unpack .../129-libterm-table-perl_0.018-1_all.deb ... 524s Unpacking libterm-table-perl (0.018-1) ... 524s Selecting previously unselected package libtest-deep-perl. 524s Preparing to unpack .../130-libtest-deep-perl_1.204-1_all.deb ... 524s Unpacking libtest-deep-perl (1.204-1) ... 524s Selecting previously unselected package libtest-deep-unorderedpairs-perl. 524s Preparing to unpack .../131-libtest-deep-unorderedpairs-perl_0.006-3_all.deb ... 524s Unpacking libtest-deep-unorderedpairs-perl (0.006-3) ... 524s Selecting previously unselected package libtest-fatal-perl. 524s Preparing to unpack .../132-libtest-fatal-perl_0.017-1_all.deb ... 524s Unpacking libtest-fatal-perl (0.017-1) ... 524s Selecting previously unselected package libtest-file-sharedir-perl. 524s Preparing to unpack .../133-libtest-file-sharedir-perl_1.001002-2_all.deb ... 524s Unpacking libtest-file-sharedir-perl (1.001002-2) ... 524s Selecting previously unselected package libtest2-suite-perl. 524s Preparing to unpack .../134-libtest2-suite-perl_0.000159-1_all.deb ... 524s Unpacking libtest2-suite-perl (0.000159-1) ... 524s Selecting previously unselected package libtest-json-schema-acceptance-perl. 525s Preparing to unpack .../135-libtest-json-schema-acceptance-perl_1.021-1_all.deb ... 525s Unpacking libtest-json-schema-acceptance-perl (1.021-1) ... 525s Selecting previously unselected package libtest-memory-cycle-perl. 525s Preparing to unpack .../136-libtest-memory-cycle-perl_1.06-2_all.deb ... 525s Unpacking libtest-memory-cycle-perl (1.06-2) ... 525s Selecting previously unselected package libtest-needs-perl. 525s Preparing to unpack .../137-libtest-needs-perl_0.002010-1_all.deb ... 525s Unpacking libtest-needs-perl (0.002010-1) ... 525s Selecting previously unselected package libtest-warnings-perl. 525s Preparing to unpack .../138-libtest-warnings-perl_0.033-1_all.deb ... 525s Unpacking libtest-warnings-perl (0.033-1) ... 525s Selecting previously unselected package libtest-without-module-perl. 525s Preparing to unpack .../139-libtest-without-module-perl_0.21-1_all.deb ... 525s Unpacking libtest-without-module-perl (0.21-1) ... 525s Selecting previously unselected package libtime-moment-perl. 525s Preparing to unpack .../140-libtime-moment-perl_0.44-2build3_armhf.deb ... 525s Unpacking libtime-moment-perl (0.44-2build3) ... 526s Selecting previously unselected package pkg-perl-autopkgtest. 526s Preparing to unpack .../141-pkg-perl-autopkgtest_0.78_all.deb ... 526s Unpacking pkg-perl-autopkgtest (0.78) ... 526s Selecting previously unselected package autopkgtest-satdep. 526s Preparing to unpack .../142-1-autopkgtest-satdep.deb ... 526s Unpacking autopkgtest-satdep (0) ... 526s Setting up javascript-common (11+nmu1) ... 526s Setting up libdevel-cycle-perl (1.12-2) ... 526s Setting up libextutils-config-perl (0.008-4) ... 526s Setting up libsafe-isa-perl (1.000010-1) ... 526s Setting up libextutils-helpers-perl (0.026-4) ... 526s Setting up libterm-table-perl (0.018-1) ... 526s Setting up libclass-inspector-perl (1.36-3) ... 526s Setting up libtest-without-module-perl (0.21-1) ... 526s Setting up libdynaloader-functions-perl (0.003-3) ... 526s Setting up libtest-deep-perl (1.204-1) ... 526s Setting up libclass-method-modifiers-perl (2.15-1) ... 526s Setting up libjs-popper.js (1.16.1+ds-6) ... 526s Setting up libnet-idn-encode-perl (2.500-3build2) ... 526s Setting up libarchive-zip-perl (1.68-1) ... 526s Setting up libsub-identify-perl (0.14-3build2) ... 526s Setting up libcpanel-json-xs-perl:armhf (4.37-1build2) ... 526s Setting up libextutils-installpaths-perl (0.012-1.1) ... 526s Setting up libio-stringy-perl (2.111-3) ... 526s Setting up libdebhelper-perl (13.14.1ubuntu5) ... 526s Setting up libtry-tiny-perl (0.31-2) ... 526s Setting up libtest-warnings-perl (0.033-1) ... 526s Setting up libtest-fatal-perl (0.017-1) ... 526s Setting up linux-libc-dev:armhf (6.8.0-20.20) ... 526s Setting up m4 (1.4.19-4) ... 526s Setting up libclass-singleton-perl (1.6-2) ... 526s Setting up libtime-moment-perl (0.44-2build3) ... 526s Setting up libpadwalker-perl (2.5-1build5) ... 526s Setting up libxstring-perl:armhf (0.005-2build2) ... 526s Setting up libgomp1:armhf (14-20240315-1ubuntu1) ... 526s Setting up libsereal-encoder-perl (5.004+ds-1build2) ... 526s Setting up libsub-install-perl (0.929-1) ... 526s Setting up libtest2-suite-perl (0.000159-1) ... 526s Setting up libdw1t64:armhf (0.190-1.1build2) ... 526s Setting up libtest-needs-perl (0.002010-1) ... 526s Setting up libscope-guard-perl (0.21-2) ... 526s Setting up libfile-copy-recursive-perl (0.45-4) ... 526s Setting up libjson-maybexs-perl (1.004005-1) ... 526s Setting up libtest-memory-cycle-perl (1.06-2) ... 526s Setting up autotools-dev (20220109.1) ... 526s Setting up libclass-data-inheritable-perl (0.08-3) ... 526s Setting up libxs-parse-keyword-perl (0.39-1build2) ... 526s Setting up libalgorithm-c3-perl (0.11-2) ... 526s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 526s Setting up libclass-tiny-perl (1.008-2) ... 526s Setting up libtest-deep-unorderedpairs-perl (0.006-3) ... 526s Setting up libref-util-perl (0.204-2) ... 526s Setting up libnet-domain-tld-perl (1.75-3) ... 526s Setting up libmpc3:armhf (1.3.1-1) ... 526s Setting up libatomic1:armhf (14-20240315-1ubuntu1) ... 526s Setting up libvariable-magic-perl (0.63-1build2) ... 526s Setting up autopoint (0.21-14ubuntu1) ... 526s Setting up libb-hooks-op-check-perl:armhf (0.22-3) ... 526s Setting up libparams-util-perl (1.102-2build2) ... 526s Setting up autoconf (2.71-3) ... 526s Setting up libsub-exporter-progressive-perl (0.001013-3) ... 526s Setting up libubsan1:armhf (14-20240315-1ubuntu1) ... 526s Setting up libsub-name-perl:armhf (0.27-1build2) ... 526s Setting up libsyntax-keyword-try-perl (0.29-1build2) ... 526s Setting up dwz (0.15-1build5) ... 526s Setting up libdata-validate-domain-perl (0.10-1.1) ... 526s Setting up libcpan-meta-check-perl (0.017-1) ... 526s Setting up libjs-highlight.js (9.18.5+dfsg1-2) ... 526s Setting up libcrypt-dev:armhf (1:4.4.36-4) ... 526s Setting up libpath-tiny-perl (0.144-1) ... 526s Setting up libasan8:armhf (14-20240315-1ubuntu1) ... 526s Setting up libjson-perl (4.10000-1) ... 526s Setting up librole-tiny-perl (2.002004-1) ... 526s Setting up debugedit (1:5.0-5build1) ... 526s Setting up libfile-sharedir-perl (1.118-3) ... 526s Setting up libsub-override-perl (0.10-1) ... 526s Setting up libstrictures-perl (2.000006-1) ... 526s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 526s Setting up libdevel-stacktrace-perl (2.0500-1) ... 526s Setting up libclass-xsaccessor-perl (1.19-4build3) ... 526s Setting up libjs-bootstrap4 (4.6.1+dfsg1-4) ... 526s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 526s Setting up libexporter-tiny-perl (1.006002-1) ... 526s Setting up libisl23:armhf (0.26-3) ... 526s Setting up libc-dev-bin (2.39-0ubuntu6) ... 526s Setting up libsereal-decoder-perl (5.004+ds-1build2) ... 526s Setting up libcc1-0:armhf (14-20240315-1ubuntu1) ... 526s Setting up dctrl-tools (2.24-3build2) ... 526s Setting up autodep8 (0.28) ... 526s Setting up libemail-address-xs-perl (1.05-1build3) ... 526s Setting up automake (1:1.16.5-1.3ubuntu1) ... 526s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 526s Setting up libmodule-build-tiny-perl (0.047-1) ... 526s Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... 526s Setting up gettext (0.21-14ubuntu1) ... 526s Setting up libfeature-compat-try-perl (0.05-1) ... 526s Setting up cpp-13-arm-linux-gnueabihf (13.2.0-19ubuntu1) ... 526s Setting up libmojolicious-perl (9.35+dfsg-1) ... 526s Setting up libtype-tiny-perl (2.004000-1) ... 526s Setting up libexception-class-perl (1.45-1) ... 526s Setting up libclass-c3-perl (0.35-2) ... 526s Setting up libdevel-callchecker-perl:armhf (0.008-2build2) ... 526s Setting up intltool-debian (0.35.0+20060710.6) ... 526s Setting up libtest-file-sharedir-perl (1.001002-2) ... 526s Setting up libdata-optlist-perl (0.114-1) ... 526s Setting up pkg-perl-autopkgtest (0.78) ... 526s Setting up dh-strip-nondeterminism (1.13.1-1) ... 526s Setting up libgcc-13-dev:armhf (13.2.0-19ubuntu1) ... 526s Setting up libc6-dev:armhf (2.39-0ubuntu6) ... 526s Setting up libmro-compat-perl (0.15-2) ... 526s Setting up cpp-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 526s Setting up libstdc++-13-dev:armhf (13.2.0-19ubuntu1) ... 526s Setting up libsub-exporter-perl (0.990-1) ... 526s Setting up libeval-closure-perl (0.14-3) ... 526s Setting up libparams-validationcompiler-perl (0.31-1) ... 526s Setting up cpp-13 (13.2.0-19ubuntu1) ... 526s Setting up po-debconf (1.0.21+nmu1) ... 526s Setting up libparams-classify-perl:armhf (0.015-2build4) ... 526s Setting up gcc-13-arm-linux-gnueabihf (13.2.0-19ubuntu1) ... 526s Setting up libmodule-runtime-perl (0.016-2) ... 526s Setting up gcc-13 (13.2.0-19ubuntu1) ... 526s Setting up cpp (4:13.2.0-7ubuntu1) ... 526s Setting up gcc-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 526s Setting up g++-13-arm-linux-gnueabihf (13.2.0-19ubuntu1) ... 526s Setting up g++-arm-linux-gnueabihf (4:13.2.0-7ubuntu1) ... 526s Setting up g++-13 (13.2.0-19ubuntu1) ... 526s Setting up libtool (2.4.7-7) ... 526s Setting up libmodule-implementation-perl (0.09-2) ... 526s Setting up libpackage-stash-perl (0.40-1) ... 526s Setting up libimport-into-perl (1.002005-2) ... 526s Setting up libmoo-perl (2.005005-1) ... 526s Setting up gcc (4:13.2.0-7ubuntu1) ... 526s Setting up dh-autoreconf (20) ... 526s Setting up libspecio-perl (0.48-1) ... 526s Setting up g++ (4:13.2.0-7ubuntu1) ... 526s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 526s Setting up build-essential (12.10ubuntu1) ... 526s Setting up libmoox-typetiny-perl (0.002003-4) ... 526s Setting up libparams-validate-perl:armhf (1.31-2build2) ... 526s Setting up libb-hooks-endofscope-perl (0.28-1) ... 526s Setting up debhelper (13.14.1ubuntu5) ... 526s Setting up libnamespace-clean-perl (0.27-2) ... 526s Setting up libgetopt-long-descriptive-perl (0.111-1) ... 526s Setting up libtest-json-schema-acceptance-perl (1.021-1) ... 526s Setting up libnamespace-autoclean-perl (0.29-2) ... 526s Setting up libdatetime-locale-perl (1:1.37-1) ... 526s Setting up libdatetime-timezone-perl (1:2.62-1+2024a) ... 526s Setting up libjson-schema-modern-perl (0.582-1) ... 526s Setting up libdatetime-perl (2:1.65-1build1) ... 526s Setting up libdatetime-format-rfc3339-perl (1.8.0-1) ... 526s Setting up autopkgtest-satdep (0) ... 526s Processing triggers for man-db (2.12.0-3build4) ... 530s Processing triggers for install-info (7.1-3build1) ... 531s Processing triggers for libc-bin (2.39-0ubuntu6) ... 566s (Reading database ... 67917 files and directories currently installed.) 566s Removing autopkgtest-satdep (0) ... 572s autopkgtest [15:40:50]: test autodep8-perl-build-deps: /usr/share/pkg-perl-autopkgtest/runner build-deps 572s autopkgtest [15:40:50]: test autodep8-perl-build-deps: [----------------------- 575s t/00-report-prereqs.t ................... 575s 1..1 575s # 575s # Versions for all modules listed in static metadata (including optional ones): 575s # 575s # === Configure Requires === 575s # 575s # Module Want Have 575s # ------------------- ----- -------- 575s # Module::Build::Tiny 0.034 0.047 575s # perl 5.020 5.038002 575s # 575s # === Test Requires === 575s # 575s # Module Want Have 575s # ------------------------------ ------- -------- 575s # CPAN::Meta::Check 0.011 0.017 575s # CPAN::Meta::Requirements any 2.140 575s # Data::Dumper any 2.188 575s # File::Spec any 3.88 575s # IPC::Open3 any 1.22 575s # Math::BigInt any 1.999837 575s # Module::Metadata any 1.000037 575s # Test2::V0 any 0.000159 575s # Test::Deep any 1.204 575s # Test::Deep::UnorderedPairs any 0.006 575s # Test::Fatal any 0.017 575s # Test::File::ShareDir any 1.001002 575s # Test::JSON::Schema::Acceptance 1.021 1.021 575s # Test::Memory::Cycle any 1.06 575s # Test::More 0.96 1.302194 575s # Test::Needs any 0.002010 575s # Test::Warnings any 0.033 575s # Test::Without::Module 0.21 0.21 575s # lib any 0.65 575s # perl v5.20.0 5.038002 575s # utf8 any 1.25 575s # 575s # === Test Recommends === 575s # 575s # Module Want Have 575s # ---------- -------- -------- 575s # CPAN::Meta 2.120900 2.150010 575s # 575s # === Runtime Requires === 575s # 575s # Module Want Have 575s # ------------------------- -------- -------- 575s # B any 1.88 575s # Carp any 1.54 575s # Digest::MD5 any 2.58_01 575s # Exporter any 5.77 575s # Feature::Compat::Try any 0.05 575s # File::ShareDir any 1.118 575s # Getopt::Long::Descriptive any 0.111 575s # JSON::PP any 4.16 575s # List::Util 1.55 1.63 575s # MIME::Base64 any 3.16_01 575s # Math::BigFloat any 1.999837 575s # Module::Runtime any 0.016 575s # Mojo::JSON any undef 575s # Mojo::JSON::Pointer any undef 575s # Mojo::URL any undef 575s # Mojolicious 7.87 9.35 575s # Moo any 2.005005 575s # Moo::Role any 2.005005 575s # MooX::TypeTiny 0.002002 0.002003 575s # Path::Tiny any 0.144 575s # Ref::Util 0.100 0.204 575s # Safe::Isa 1.000008 1.000010 575s # Scalar::Util any 1.63 575s # Storable any 3.32 575s # Sub::Install any 0.929 575s # Types::Common::Numeric any 2.004000 575s # Types::Standard 1.016003 2.004000 575s # constant any 1.33 575s # experimental 0.026 0.031 575s # if any 0.0610 575s # namespace::clean any 0.27 575s # open any 1.13 575s # overload any 1.37 575s # perl v5.20.0 5.038002 575s # stable 0.031 0.031 575s # strict any 1.12 575s # strictures 2 2.000006 575s # warnings any 1.65 575s # 575s # === Runtime Suggests === 575s # 575s # Module Want Have 575s # ------------------------- ---- ------- 575s # Class::XSAccessor any 1.19 575s # Cpanel::JSON::XS any 4.37 575s # Data::Validate::Domain any 0.10 575s # DateTime::Format::RFC3339 any v1.8.0 575s # Email::Address::XS 1.04 1.05 575s # Net::IDN::Encode any 2.500 575s # Ref::Util::XS any missing 575s # Time::Moment any 0.44 575s # Type::Tiny::XS any missing 575s # 575s # === Other Modules === 575s # 575s # Module Have 575s # ---------------- -------- 575s # Cpanel::JSON::XS 4.37 575s # Encode 3.19 575s # File::Temp 0.2311 575s # JSON::PP 4.16 575s # JSON::XS missing 575s # Math::BigFloat 1.999837 575s # Math::BigInt 1.999837 575s # Module::Runtime 0.016 575s # Mojolicious 9.35 575s # Pod::Coverage missing 575s # Sereal::Decoder 5.004 575s # Sereal::Encoder 5.004 575s # Sub::Name 0.27 575s # YAML missing 575s # autodie 2.36 575s # 575s ok 1 - Reported prereqs 575s ok 578s t/add-schema.t .......................... 578s # Subtest: evaluate a document 578s ok 1 - evaluate a Document object 578s ok 2 - resource index from the document is copied to the main object 578s ok 3 - evaluate a Document object again without error 578s 1..3 578s ok 1 - evaluate a document 578s # Subtest: evaluate a uri 578s ok 1 - evaluate with a uri that is not yet loaded 578s ok 2 - the metaschema is now loaded and its resources are indexed 578s ok 3 - evaluate against the metaschema again 578s ok 4 - evaluate against the a subschema of the metaschema 578s ok 5 - evaluate against the a fragment of the metaschema that does not exist 578s ok 6 - evaluate against the a plain-name fragment of the metaschema that does not exist 578s 1..6 578s ok 2 - evaluate a uri 578s # Subtest: add a uri resource 578s ok 1 - added the metaschema by uri 578s ok 2 - attempt to add a resource that does not exist 578s ok 3 - ->get in scalar context on a URI to the head of a document 578s ok 4 - get() did not return a reference to the original data 578s ok 5 - ->get in list context on a URI to the head of a document 578s ok 6 - ->get in scalar context on a URI to inside of a document 578s ok 7 - ->get in list context on a URI to inside of a document 578s 1..7 578s ok 3 - add a uri resource 578s # Subtest: add a schema associated with a uri 578s ok 1 - cannot use a uri with a fragment 578s ok 2 - added the schema data with an associated uri 578s ok 3 - can now evaluate using a uri to a subschema of a resource we loaded earlier 578s ok 4 - can also evaluate using a non-canonical uri 578s ok 5 - can add the same document and associate it with another schema 578s ok 6 - now the document is available as all three uris 578s 1..6 578s ok 4 - add a schema associated with a uri 578s # Subtest: add a document without associating it with a uri 578s ok 1 - added the document without an associated uri 578s ok 2 - document only added under its canonical uri 578s 1..2 578s ok 5 - add a document without associating it with a uri 578s # Subtest: add a schema without a uri 578s ok 1 - added the schema data without an associated uri 578s ok 2 - document only added under its canonical uri 578s 1..2 578s ok 6 - add a schema without a uri 578s # Subtest: $ref to non-canonical uri 578s ok 1 - errors use the canonical uri, not the uri used to evaluate against 578s ok 2 - non-canonical uri is not used to resolve inner $id keywords 578s ok 3 - the canonical uri is updated when use the canonical uri, not the uri used to evaluate against 578s ok 4 - canonical_uri is not always what was in the $ref, even when no local $id is present 578s ok 5 - canonical_uri fragment also needs to be adjusted 578s ok 6 - canonical_uri starts out containing a fragment and can be appended to during traversal 578s 1..6 578s ok 7 - $ref to non-canonical uri 578s # Subtest: register a document against multiple uris; do not allow duplicate uris 578s ok 1 - resource index from the document is copied to the main object 578s ok 2 - add a secondary uri for the same document 578s ok 3 - secondary uri not also added to the document 578s ok 4 - cannot call add_schema with the same URI as for another schema 578s ok 5 - cannot reuse the same $id in another document 578s ok 6 - resource index remains unchanged after erroneous add_schema calls 578s ok 7 - adding the same schema *content* again does not fail, and returns the original document object 578s ok 8 - original document remains unchanged - the new uri was not added to it 578s ok 9 - new uri was added against the original document (no new document created) 578s ok 10 - ->get in scalar context on a secondary URI with a plain-name fragment 578s ok 11 - ->get in list context on a URI with a plain-name fragment includes the canonical uri 578s ok 12 - ->get in scalar context for a nonexistent resource returns undef 578s ok 13 - ->get in list context for a nonexistent resource returns empty list 578s 1..13 578s ok 8 - register a document against multiple uris; do not allow duplicate uris 578s # Subtest: external resource with externally-supplied uri; main resource with multiple uris 578s ok 1 - all uris in result are correct, using secondary uri as the target 578s ok 2 - all uris in result are correct, using main uri as the target 578s ok 3 - all uris in result are correct, using the literal schema as the target 578s 1..3 578s ok 9 - external resource with externally-supplied uri; main resource with multiple uris 578s # Subtest: document with no canonical URI, but assigned a URI through add_schema 578s ok 1 - evaluate a schema referencing a document given an ad-hoc uri 578s ok 2 - adding a uri to an existing document does not change its canonical uri 578s 1..2 578s ok 10 - document with no canonical URI, but assigned a URI through add_schema 578s 1..10 578s ok 599s t/additional-tests-draft2019-09.t ....... 599s # AUTHOR_TESTING: 599s # AUTOMATED_TESTING: 1 599s # EXTENDED_TESTING: 599s # NO_TODO: 599s # TEST_DIR: 599s # NO_SHORT_CIRCUIT: 599s # 599s # running tests in /tmp/autopkgtest.BzCoE7/autopkgtest_tmp/smokeusECz7/t/additional-tests-draft2019-09 against draft2019-09... 599s # 599s ok 1 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" { 599s # result: { 599s # "valid": true 599s # } 599s # short-circuited result: { 599s # "valid": true 599s # } 599s ok 1 - test passes: data is valid: true 599s 1..1 599s } 599s ok 2 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" { 599s # result: { 599s # "errors": [ 599s # { 599s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 599s # "error": "value does not match", 599s # "instanceLocation": "", 599s # "keywordLocation": "/else/$ref/const" 599s # }, 599s # { 599s # "error": "subschema is not valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/else" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 599s # "error": "value does not match", 599s # "instanceLocation": "", 599s # "keywordLocation": "/else/$ref/const" 599s # }, 599s # { 599s # "error": "subschema is not valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/else" 599s # } 599s # ], 599s # "valid": false 599s # } 599s ok 1 - test passes: data is valid: false 599s 1..1 599s } 599s # 599s ok 3 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "properties evaluated from allOf" { 599s # result: { 599s # "valid": true 599s # } 599s # short-circuited result: { 599s # "valid": true 599s # } 599s ok 1 - test passes: data is valid: true 599s 1..1 599s } 599s ok 4 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "extra property" { 599s # result: { 599s # "errors": [ 599s # { 599s # "error": "additional property not permitted", 599s # "instanceLocation": "/bar", 599s # "keywordLocation": "/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "not all additional properties are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/unevaluatedProperties" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "error": "additional property not permitted", 599s # "instanceLocation": "/bar", 599s # "keywordLocation": "/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "not all additional properties are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/unevaluatedProperties" 599s # } 599s # ], 599s # "valid": false 599s # } 599s ok 1 - test passes: data is valid: false 599s 1..1 599s } 599s ok 5 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "properties evaluated from additionalProperties" { 599s # result: { 599s # "valid": true 599s # } 599s # short-circuited result: { 599s # "valid": true 599s # } 599s ok 1 - test passes: data is valid: true 599s 1..1 599s } 599s ok 6 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "extra property" { 599s # result: { 599s # "errors": [ 599s # { 599s # "error": "additional property not permitted", 599s # "instanceLocation": "/bar", 599s # "keywordLocation": "/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "not all additional properties are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/unevaluatedProperties" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "error": "additional property not permitted", 599s # "instanceLocation": "/bar", 599s # "keywordLocation": "/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "not all additional properties are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/unevaluatedProperties" 599s # } 599s # ], 599s # "valid": false 599s # } 599s ok 1 - test passes: data is valid: false 599s 1..1 599s } 599s ok 7 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "properties evaluated from allOf, but unevaluated is buried" { 599s # result: { 599s # "errors": [ 599s # { 599s # "error": "additional property not permitted", 599s # "instanceLocation": "/foo", 599s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "not all additional properties are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "no subschemas are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "error": "additional property not permitted", 599s # "instanceLocation": "/foo", 599s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "not all additional properties are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "no subschemas are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf" 599s # } 599s # ], 599s # "valid": false 599s # } 599s ok 1 - test passes: data is valid: false 599s 1..1 599s } 599s ok 8 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "no properties" { 599s # result: { 599s # "valid": true 599s # } 599s # short-circuited result: { 599s # "valid": true 599s # } 599s ok 1 - test passes: data is valid: true 599s 1..1 599s } 599s ok 9 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "properties evaluated from additionalProperties, but unevaluated is buried" { 599s # result: { 599s # "errors": [ 599s # { 599s # "error": "additional property not permitted", 599s # "instanceLocation": "/foo", 599s # "keywordLocation": "/allOf/0/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "not all additional properties are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/allOf/0/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "subschema 0 is not valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/allOf" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "error": "additional property not permitted", 599s # "instanceLocation": "/foo", 599s # "keywordLocation": "/allOf/0/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "not all additional properties are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/allOf/0/unevaluatedProperties" 599s # }, 599s # { 599s # "error": "subschema 0 is not valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/allOf" 599s # } 599s # ], 599s # "valid": false 599s # } 599s ok 1 - test passes: data is valid: false 599s 1..1 599s } 599s ok 10 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "no properties" { 599s # result: { 599s # "valid": true 599s # } 599s # short-circuited result: { 599s # "valid": true 599s # } 599s ok 1 - test passes: data is valid: true 599s 1..1 599s } 599s ok 11 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" { 599s # result: { 599s # "valid": true 599s # } 599s # short-circuited result: { 599s # "valid": true 599s # } 599s ok 1 - test passes: data is valid: true 599s 1..1 599s } 599s ok 12 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" { 599s # result: { 599s # "errors": [ 599s # { 599s # "error": "subschema is valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/not" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "error": "subschema is valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/not" 599s # } 599s # ], 599s # "valid": false 599s # } 599s ok 1 - test passes: data is valid: false 599s 1..1 599s } 599s # 599s ok 13 - badRef.json: "good references in schemas" - "this data is never used" { 599s # result: { 599s # "valid": true 599s # } 599s # short-circuited result: { 599s # "valid": true 599s # } 599s ok 1 - test passes: data is valid: true 599s 1..1 599s } 599s ok 14 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" { 599s # result: { 599s # "errors": [ 599s # { 599s # "error": "$ref value is not a valid URI reference", 599s # "instanceLocation": "", 599s # "keywordLocation": "/then/$ref" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "error": "$ref value is not a valid URI reference", 599s # "instanceLocation": "", 599s # "keywordLocation": "/then/$ref" 599s # } 599s # ], 599s # "valid": false 599s # } 599s ok 1 - test passes: data is valid: false 599s 1..1 599s } 599s ok 15 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" { 599s # result: { 599s # "errors": [ 599s # { 599s # "error": "$ref value is not a valid URI reference", 599s # "instanceLocation": "", 599s # "keywordLocation": "/then/$ref" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "error": "$ref value is not a valid URI reference", 599s # "instanceLocation": "", 599s # "keywordLocation": "/then/$ref" 599s # } 599s # ], 599s # "valid": false 599s # } 599s ok 1 - test passes: data is valid: false 599s 1..1 599s } 599s # 599s ok 16 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" { 599s # result: { 599s # "valid": true 599s # } 599s # short-circuited result: { 599s # "valid": true 599s # } 599s ok 1 - test passes: data is valid: true 599s 1..1 599s } 599s ok 17 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" { 599s # result: { 599s # "errors": [ 599s # { 599s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 599s # "error": "got string, not integer", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf/0/type" 599s # }, 599s # { 599s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 599s # "error": "got string, not integer", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf/1/type" 599s # }, 599s # { 599s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 599s # "error": "value does not match", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf/2/const" 599s # }, 599s # { 599s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 599s # "error": "value does not match", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf/3/enum" 599s # }, 599s # { 599s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 599s # "error": "no subschemas are valid", 599s # "instanceLocation": "", 599s # "keywordLocation": "/anyOf" 599s # } 599s # ], 599s # "valid": false 599s # } 599s # short-circuited result: { 599s # "errors": [ 599s # { 599s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 600s # "error": "got string, not integer", 600s # "instanceLocation": "", 600s # "keywordLocation": "/anyOf/0/type" 600s # }, 600s # { 600s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 600s # "error": "got string, not integer", 600s # "instanceLocation": "", 600s # "keywordLocation": "/anyOf/1/type" 600s # }, 600s # { 600s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 600s # "error": "value does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/anyOf/2/const" 600s # }, 600s # { 600s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 600s # "error": "value does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/anyOf/3/enum" 600s # }, 600s # { 600s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 600s # "error": "no subschemas are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/anyOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s # 600s ok 18 - format-duration.json: "validation of duration strings" - "years and months can appear without days" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 19 - format-duration.json: "validation of duration strings" - "months and days can appear without years" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 20 - format-duration.json: "validation of duration strings" - "hours and minutes can appear without seconds" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 21 - format-duration.json: "validation of duration strings" - "minutes and seconds can appear without hour" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 22 - format-duration.json: "validation of duration strings" - "elements may be omitted if their value is zero" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 23 - format-duration.json: "validation of duration strings" - "half a year duration, with full stop decimal point" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 24 - format-duration.json: "validation of duration strings" - "half a year duration, with comma decimal point" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 25 - format-duration.json: "validation of duration strings" - "only one unit can have a non-integer quantity" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid duration", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid duration", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 26 - format-duration.json: "validation of duration strings" - "only the smallest unit can have a non-integer quantity" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid duration", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid duration", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s # 600s ok 27 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv4", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv4", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 28 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv4", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv4", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 29 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 30 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv4", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv4", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s # 600s ok 31 - format-ipv6.json: "validation of ipv6 strings" - "fully expanded with zeroes" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 32 - format-ipv6.json: "validation of ipv6 strings" - "partially collapsed zeroes" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 33 - format-ipv6.json: "validation of ipv6 strings" - "4,2 zeroes" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 34 - format-ipv6.json: "validation of ipv6 strings" - "8 single zeroes, no double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 35 - format-ipv6.json: "validation of ipv6 strings" - "7 single zeroes, leading double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 36 - format-ipv6.json: "validation of ipv6 strings" - "6 single zeroes, leading double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 37 - format-ipv6.json: "validation of ipv6 strings" - "5 single zeroes, leading double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 38 - format-ipv6.json: "validation of ipv6 strings" - "4 single zeroes, leading double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 39 - format-ipv6.json: "validation of ipv6 strings" - "3 single zeroes, leading double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 40 - format-ipv6.json: "validation of ipv6 strings" - "2 single zeroes, leading double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 41 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, leading double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 42 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, trailing double colon" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 43 - format-ipv6.json: "validation of ipv6 strings" - "2 leading colons with 8 zeroes" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 44 - format-ipv6.json: "validation of ipv6 strings" - "1 leading colon with 8 zeroes" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 45 - format-ipv6.json: "validation of ipv6 strings" - "colons in the middle with 8 zeroes" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 46 - format-ipv6.json: "validation of ipv6 strings" - "1 trailing colon with 8 zeroes" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 47 - format-ipv6.json: "validation of ipv6 strings" - "2 trailing colons with 8 zeroes" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid ipv6", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s # 600s ok 48 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 49 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 50 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 51 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 52 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid relative-json-pointer", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid relative-json-pointer", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 53 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid relative-json-pointer", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid relative-json-pointer", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 54 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid relative-json-pointer", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "not a valid relative-json-pointer", 600s # "instanceLocation": "", 600s # "keywordLocation": "/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s # 600s ok 55 - formats.json: "format validation after a $ref" - "invalid duration" { 600s # result: { 600s # "errors": [ 600s # { 600s # "absoluteKeywordLocation": "#/$defs/my_format/format", 600s # "error": "not a valid duration", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$ref/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "absoluteKeywordLocation": "#/$defs/my_format/format", 600s # "error": "not a valid duration", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$ref/format" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 56 - formats.json: "format validation after a $ref" - "valid duration" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 57 - formats.json: "format validation after an $id" - "invalid duration" { 600s # result: { 600s # "errors": [ 600s # { 600s # "absoluteKeywordLocation": "bloop#/allOf/0/format", 600s # "error": "not a valid duration", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/allOf/0/format" 600s # }, 600s # { 600s # "absoluteKeywordLocation": "bloop#/allOf", 600s # "error": "subschema 0 is not valid", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/allOf" 600s # }, 600s # { 600s # "error": "subschema is not valid against all items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "absoluteKeywordLocation": "bloop#/allOf/0/format", 600s # "error": "not a valid duration", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/allOf/0/format" 600s # }, 600s # { 600s # "absoluteKeywordLocation": "bloop#/allOf", 600s # "error": "subschema 0 is not valid", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/allOf" 600s # }, 600s # { 600s # "error": "subschema is not valid against all items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 58 - formats.json: "format validation after an $id" - "valid duration" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s # 600s ok 59 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 60 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 600s # result: { 600s # "errors": [ 600s # { 600s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 600s # "error": "value does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/else/$ref/const" 600s # }, 600s # { 600s # "error": "subschema is not valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/else" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 600s # "error": "value does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/else/$ref/const" 600s # }, 600s # { 600s # "error": "subschema is not valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/else" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 61 - id.json: "'' not permitted as $id" - "schema would pass without $id" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "$id cannot be empty", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$id" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "$id cannot be empty", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$id" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 62 - id.json: "'' not permitted as $id" - "schema would fail even without $id" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "$id cannot be empty", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$id" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "$id cannot be empty", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$id" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 63 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "$id cannot be empty", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$id" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "$id cannot be empty", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$id" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 64 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "$id cannot be empty", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$id" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "$id cannot be empty", 600s # "instanceLocation": "", 600s # "keywordLocation": "/$id" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s # 600s ok 65 - integers.json: "type checks" - "beyond int64 lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 66 - integers.json: "type checks" - "int64 lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 67 - integers.json: "type checks" - "beyond int32 lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 68 - integers.json: "type checks" - "int32 lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 69 - integers.json: "type checks" - "zero" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 70 - integers.json: "type checks" - "int32 upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 71 - integers.json: "type checks" - "beyond int32 upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 72 - integers.json: "type checks" - "upper int64 boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 73 - integers.json: "type checks" - "beyond int64 upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 74 - integers.json: "int32 range checks" - "beyond lower boundary" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than -2147483648", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than -2147483648", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 75 - integers.json: "int32 range checks" - "lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 76 - integers.json: "int32 range checks" - "zero" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 77 - integers.json: "int32 range checks" - "upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 78 - integers.json: "int32 range checks" - "beyond upper boundary" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2147483647", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2147483647", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 79 - integers.json: "int64 range checks" - "beyond lower boundary" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than -9223372036854775808", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than -9223372036854775808", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 80 - integers.json: "int64 range checks" - "lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 81 - integers.json: "int64 range checks" - "zero" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 82 - integers.json: "int64 range checks" - "upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 83 - integers.json: "int64 range checks" - "beyond upper boundary" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 9223372036854775807", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 9223372036854775807", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 84 - integers.json: "equality checks" - "beyond int64 lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 85 - integers.json: "equality checks" - "int64 lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 86 - integers.json: "equality checks" - "beyond int32 lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 87 - integers.json: "equality checks" - "int32 lower boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 88 - integers.json: "equality checks" - "zero" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 89 - integers.json: "equality checks" - "one" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/enum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/enum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 90 - integers.json: "equality checks" - "int32 upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 91 - integers.json: "equality checks" - "beyond int32 upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 92 - integers.json: "equality checks" - "int64 upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 93 - integers.json: "equality checks" - "beyond int64 upper boundary" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s # 600s ok 94 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 95 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 96 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 97 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 98 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 99 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 100 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 101 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 102 - keyword-independence.json: "contains + maximum" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 103 - keyword-independence.json: "contains + maximum" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 104 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 105 - keyword-independence.json: "contains + maximum" - "number, maximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 106 - keyword-independence.json: "contains + minimum" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 107 - keyword-independence.json: "contains + minimum" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 108 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 109 - keyword-independence.json: "contains + minimum" - "number, minimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 110 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 111 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 112 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 113 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 114 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 115 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 116 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 117 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 118 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 119 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 120 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 121 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 122 - keyword-independence.json: "items + maximum" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 123 - keyword-independence.json: "items + maximum" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 124 - keyword-independence.json: "items + maximum" - "number, maximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 125 - keyword-independence.json: "items + maximum" - "number, maximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 126 - keyword-independence.json: "items + minimum" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 127 - keyword-independence.json: "items + minimum" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 128 - keyword-independence.json: "items + minimum" - "number, minimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 129 - keyword-independence.json: "items + minimum" - "number, minimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 130 - keyword-independence.json: "items + multipleOf" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 131 - keyword-independence.json: "items + multipleOf" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 132 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 133 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 134 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 135 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 136 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 137 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 138 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 139 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 140 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 141 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 142 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 143 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 144 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 145 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 146 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 147 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 148 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 149 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 150 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 151 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 152 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 153 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 154 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 155 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 156 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 157 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 158 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 159 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 160 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 161 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 162 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 163 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 164 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 165 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 166 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 167 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 168 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 169 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 170 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 171 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 172 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 173 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 174 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 175 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 176 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 177 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 178 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 179 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 180 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 181 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 182 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 183 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 184 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 185 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 186 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 187 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 188 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 189 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 190 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 191 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 192 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 193 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 194 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 195 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 196 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 197 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 198 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 199 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 200 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMinimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 201 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 202 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 203 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 204 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 205 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 206 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 207 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 208 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is smaller than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minimum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 209 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 210 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 211 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 212 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is not a multiple of 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/multipleOf" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 213 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 214 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 215 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 216 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 217 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 218 - keyword-independence.json: "contains + dependentRequired" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 219 - keyword-independence.json: "contains + dependentRequired" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 220 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 221 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 222 - keyword-independence.json: "contains + dependentSchemas" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 223 - keyword-independence.json: "contains + dependentSchemas" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 224 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 225 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 226 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 227 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 228 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 229 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 230 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 231 - keyword-independence.json: "contains + minProperties" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 232 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 233 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 234 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 235 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 236 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 237 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 238 - keyword-independence.json: "contains + properties" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 239 - keyword-independence.json: "contains + properties" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 240 - keyword-independence.json: "contains + properties" - "object, properties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 241 - keyword-independence.json: "contains + properties" - "object, properties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 242 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 243 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 244 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 245 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 246 - keyword-independence.json: "contains + required" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 247 - keyword-independence.json: "contains + required" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 248 - keyword-independence.json: "contains + required" - "object, required invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 249 - keyword-independence.json: "contains + required" - "object, required valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 250 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 251 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 252 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 253 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 254 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 255 - keyword-independence.json: "additionalProperties + items" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 256 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 257 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 258 - keyword-independence.json: "dependentRequired + items" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 259 - keyword-independence.json: "dependentRequired + items" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 260 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 261 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 262 - keyword-independence.json: "dependentSchemas + items" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 263 - keyword-independence.json: "dependentSchemas + items" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 264 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 265 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 266 - keyword-independence.json: "items + maxProperties" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 267 - keyword-independence.json: "items + maxProperties" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 268 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 269 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 270 - keyword-independence.json: "items + minProperties" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 271 - keyword-independence.json: "items + minProperties" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 272 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 273 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 274 - keyword-independence.json: "items + patternProperties" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 275 - keyword-independence.json: "items + patternProperties" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 276 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 277 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 278 - keyword-independence.json: "items + properties" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 279 - keyword-independence.json: "items + properties" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 280 - keyword-independence.json: "items + properties" - "object, properties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 281 - keyword-independence.json: "items + properties" - "object, properties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 282 - keyword-independence.json: "items + propertyNames" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 283 - keyword-independence.json: "items + propertyNames" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 284 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 285 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 286 - keyword-independence.json: "items + required" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 287 - keyword-independence.json: "items + required" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 288 - keyword-independence.json: "items + required" - "object, required invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 289 - keyword-independence.json: "items + required" - "object, required valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 290 - keyword-independence.json: "items + unevaluatedProperties" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 291 - keyword-independence.json: "items + unevaluatedProperties" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 292 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 293 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 294 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 295 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 296 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 297 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 298 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 299 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 300 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 301 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 302 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 303 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 304 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 305 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 306 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 307 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 308 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 309 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 310 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 311 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 312 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 313 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 314 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 315 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 316 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 317 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 318 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 319 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 320 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 321 - keyword-independence.json: "maxItems + properties" - "object, properties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 322 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 323 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 324 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 325 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 326 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 327 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 328 - keyword-independence.json: "maxItems + required" - "object, required invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 329 - keyword-independence.json: "maxItems + required" - "object, required valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 330 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 331 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 332 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 333 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 334 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 335 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 336 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 337 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 338 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 339 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 340 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 341 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 342 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 343 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 344 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 345 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 346 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 347 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 348 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 349 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 350 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 351 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 352 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 353 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 354 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 355 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 356 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 357 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 358 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 359 - keyword-independence.json: "minItems + properties" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 360 - keyword-independence.json: "minItems + properties" - "object, properties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 361 - keyword-independence.json: "minItems + properties" - "object, properties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 362 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 363 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 364 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 365 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 366 - keyword-independence.json: "minItems + required" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 367 - keyword-independence.json: "minItems + required" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 368 - keyword-independence.json: "minItems + required" - "object, required invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 369 - keyword-independence.json: "minItems + required" - "object, required valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 370 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 371 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 372 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 373 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 374 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 375 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 376 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 377 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 378 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 379 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 380 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 381 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 382 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 383 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 384 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 385 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 386 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 387 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 388 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 389 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 390 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 391 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 392 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 393 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 394 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 395 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 396 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 397 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 398 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 399 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 400 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 401 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 402 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 403 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 404 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 405 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 406 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 407 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 408 - keyword-independence.json: "required + unevaluatedItems" - "object, required invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 409 - keyword-independence.json: "required + unevaluatedItems" - "object, required valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 410 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 411 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 412 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 413 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 414 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 415 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 416 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 417 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 418 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 419 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 420 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 421 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 422 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 423 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 424 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 425 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 426 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 427 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 428 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 429 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 430 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 431 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 432 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has fewer than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 433 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 434 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 435 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 436 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/no", 600s # "keywordLocation": "/patternProperties/no" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/patternProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 437 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 438 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 439 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 440 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/properties/x" 600s # }, 600s # { 600s # "error": "not all properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/properties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 441 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 442 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 443 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 444 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/propertyNames" 600s # }, 600s # { 600s # "error": "not all property names are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/propertyNames" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 445 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 446 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 447 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 448 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: x", 600s # "instanceLocation": "", 600s # "keywordLocation": "/required" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 449 - keyword-independence.json: "required + uniqueItems" - "object, required valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 450 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 451 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 452 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/unevaluatedProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 453 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 454 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 455 - keyword-independence.json: "contains + maxLength" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 456 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 457 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 458 - keyword-independence.json: "contains + minLength" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 459 - keyword-independence.json: "contains + minLength" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 460 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 461 - keyword-independence.json: "contains + minLength" - "string, minLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 462 - keyword-independence.json: "contains + pattern" - "array, contains invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is not valid against any item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/contains" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 463 - keyword-independence.json: "contains + pattern" - "array, contains valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 464 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 465 - keyword-independence.json: "contains + pattern" - "string, pattern valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 466 - keyword-independence.json: "items + maxLength" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 467 - keyword-independence.json: "items + maxLength" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 468 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 469 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 470 - keyword-independence.json: "items + minLength" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 471 - keyword-independence.json: "items + minLength" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 472 - keyword-independence.json: "items + minLength" - "string, minLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 473 - keyword-independence.json: "items + minLength" - "string, minLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 474 - keyword-independence.json: "items + pattern" - "array, items invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/items/0" 600s # }, 600s # { 600s # "error": "not all items are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/items" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 475 - keyword-independence.json: "items + pattern" - "array, items valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 476 - keyword-independence.json: "items + pattern" - "string, pattern invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 477 - keyword-independence.json: "items + pattern" - "string, pattern valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 478 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 479 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 480 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 481 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 482 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 483 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 484 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 485 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 486 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has more than 1 item", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 487 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 488 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 489 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 490 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 491 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 492 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 493 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 494 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 495 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 496 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 497 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 498 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "array has fewer than 2 items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 499 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 500 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 501 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 502 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 503 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 504 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 505 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 506 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 507 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 508 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 509 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 510 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional item not permitted", 600s # "instanceLocation": "/0", 600s # "keywordLocation": "/unevaluatedItems" 600s # }, 600s # { 600s # "error": "subschema is not valid against all additional items", 600s # "instanceLocation": "", 600s # "keywordLocation": "/unevaluatedItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 511 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 512 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 513 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 514 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 515 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 516 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is greater than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 517 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 518 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 519 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 520 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "length is less than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/minLength" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 521 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 522 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "items at indices 0 and 1 are not unique", 600s # "instanceLocation": "", 600s # "keywordLocation": "/uniqueItems" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 523 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 524 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "pattern does not match", 600s # "instanceLocation": "", 600s # "keywordLocation": "/pattern" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 525 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 526 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 527 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 528 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "additional property not permitted", 600s # "instanceLocation": "/x", 600s # "keywordLocation": "/additionalProperties" 600s # }, 600s # { 600s # "error": "not all additional properties are valid", 600s # "instanceLocation": "", 600s # "keywordLocation": "/additionalProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 529 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 530 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 531 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 532 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object is missing property: y", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentRequired" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 533 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 534 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 535 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 536 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "subschema is false", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas/x" 600s # }, 600s # { 600s # "error": "not all dependencies are satisfied", 600s # "instanceLocation": "", 600s # "keywordLocation": "/dependentSchemas" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 537 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 538 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 539 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 540 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "object has more than 1 property", 600s # "instanceLocation": "", 600s # "keywordLocation": "/maxProperties" 600s # } 600s # ], 600s # "valid": false 600s # } 600s ok 1 - test passes: data is valid: false 600s 1..1 600s } 600s ok 541 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" { 600s # result: { 600s # "valid": true 600s # } 600s # short-circuited result: { 600s # "valid": true 600s # } 600s ok 1 - test passes: data is valid: true 600s 1..1 600s } 600s ok 542 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" { 600s # result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 600s # short-circuited result: { 600s # "errors": [ 600s # { 600s # "error": "value is equal to or larger than 2", 600s # "instanceLocation": "", 600s # "keywordLocation": "/exclusiveMaximum" 600s # } 600s # ], 600s # "valid": false 600s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 543 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 544 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 545 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 546 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 547 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 548 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 549 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 550 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 551 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 552 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 553 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 554 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 555 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 556 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 557 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 558 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 559 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 560 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 561 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 562 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 563 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 564 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 565 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 566 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 567 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 568 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 569 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 570 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 571 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 572 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 573 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 574 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 575 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 576 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 577 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 578 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 579 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 580 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 581 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 582 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 583 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 584 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 585 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 586 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 587 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 588 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 589 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 590 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 591 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 592 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 593 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 594 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 595 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 596 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 597 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 598 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 599 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 600 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 601 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 602 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 603 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 604 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 605 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 606 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 607 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 608 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 609 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 610 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 611 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 612 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 613 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 614 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 615 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 616 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 617 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 618 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 619 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 620 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 621 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 622 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 623 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 624 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 625 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 626 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 627 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 628 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 629 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 630 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 631 - keyword-independence.json: "maximum + properties" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 632 - keyword-independence.json: "maximum + properties" - "object, properties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 633 - keyword-independence.json: "maximum + properties" - "object, properties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 634 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 635 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 636 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 637 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 638 - keyword-independence.json: "maximum + required" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 639 - keyword-independence.json: "maximum + required" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 640 - keyword-independence.json: "maximum + required" - "object, required invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 641 - keyword-independence.json: "maximum + required" - "object, required valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 642 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 643 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 644 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 645 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 646 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 647 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 648 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 649 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 650 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 651 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 652 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 653 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 654 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 655 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 656 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 657 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 658 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 659 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 660 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 661 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 662 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 663 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 664 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 665 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 666 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 667 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 668 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 669 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 670 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 671 - keyword-independence.json: "minimum + properties" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 672 - keyword-independence.json: "minimum + properties" - "object, properties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 673 - keyword-independence.json: "minimum + properties" - "object, properties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 674 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 675 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 676 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 677 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 678 - keyword-independence.json: "minimum + required" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 679 - keyword-independence.json: "minimum + required" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 680 - keyword-independence.json: "minimum + required" - "object, required invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 681 - keyword-independence.json: "minimum + required" - "object, required valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 682 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 683 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 684 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 685 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 686 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 687 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 688 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 689 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 690 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 691 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 692 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 693 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 694 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 695 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 696 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 697 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 698 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 699 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 700 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 701 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 702 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 703 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 704 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 705 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 706 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 707 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 708 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 709 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 710 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 711 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 712 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 713 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 714 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 715 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 716 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 717 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 718 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 719 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 720 - keyword-independence.json: "multipleOf + required" - "object, required invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 721 - keyword-independence.json: "multipleOf + required" - "object, required valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 722 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 723 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 724 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 725 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 726 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 727 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 728 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 729 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 730 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 731 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 732 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 733 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 734 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMaximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 735 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 736 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 737 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 738 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 739 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 740 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 741 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 742 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 743 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 744 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 745 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 746 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is equal to or smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/exclusiveMinimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 747 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 748 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 749 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 750 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 751 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 752 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 753 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 754 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 755 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 756 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 757 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 758 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is larger than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 759 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 760 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 761 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 762 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 763 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 764 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 765 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 766 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 767 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 768 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 769 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 770 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is smaller than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minimum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 771 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 772 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 773 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 774 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 775 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 776 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 777 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 778 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 779 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 780 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 781 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 782 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/multipleOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 783 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 784 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 785 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 786 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 787 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 788 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 789 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 790 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 791 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 792 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 793 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 794 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/additionalProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 795 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 796 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 797 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 798 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 799 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 800 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 801 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 802 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 803 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 804 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 805 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 806 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: y", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentRequired" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 807 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 808 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 809 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 810 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 811 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 812 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 813 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 814 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 815 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 816 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 817 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 818 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas/x" 601s # }, 601s # { 601s # "error": "not all dependencies are satisfied", 601s # "instanceLocation": "", 601s # "keywordLocation": "/dependentSchemas" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 819 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 820 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 821 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 822 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 823 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 824 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 825 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 826 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 827 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 828 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 829 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 830 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has more than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 831 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 832 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 833 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 834 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 835 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 836 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 837 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 838 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 839 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 840 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 841 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 842 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object has fewer than 1 property", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 843 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 844 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 845 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 846 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 847 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 848 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 849 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 850 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 851 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 852 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 853 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 854 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/no", 601s # "keywordLocation": "/patternProperties/no" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 855 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 856 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 857 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 858 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 859 - keyword-independence.json: "maxLength + properties" - "object, properties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 860 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 861 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 862 - keyword-independence.json: "minLength + properties" - "object, properties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 863 - keyword-independence.json: "minLength + properties" - "object, properties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 864 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 865 - keyword-independence.json: "minLength + properties" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 866 - keyword-independence.json: "pattern + properties" - "object, properties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/properties/x" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 867 - keyword-independence.json: "pattern + properties" - "object, properties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 868 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 869 - keyword-independence.json: "pattern + properties" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 870 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 871 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 872 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 873 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 874 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 875 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 876 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 877 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 878 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "subschema is false", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/propertyNames" 601s # }, 601s # { 601s # "error": "not all property names are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/propertyNames" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 879 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 880 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 881 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 882 - keyword-independence.json: "maxLength + required" - "object, required invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 883 - keyword-independence.json: "maxLength + required" - "object, required valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 884 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 885 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 886 - keyword-independence.json: "minLength + required" - "object, required invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 887 - keyword-independence.json: "minLength + required" - "object, required valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 888 - keyword-independence.json: "minLength + required" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 889 - keyword-independence.json: "minLength + required" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 890 - keyword-independence.json: "pattern + required" - "object, required invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "object is missing property: x", 601s # "instanceLocation": "", 601s # "keywordLocation": "/required" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 891 - keyword-independence.json: "pattern + required" - "object, required valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 892 - keyword-independence.json: "pattern + required" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 893 - keyword-independence.json: "pattern + required" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 894 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 895 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 896 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is greater than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/maxLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 897 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 898 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 899 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 900 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "length is less than 2", 601s # "instanceLocation": "", 601s # "keywordLocation": "/minLength" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 901 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 902 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "additional property not permitted", 601s # "instanceLocation": "/x", 601s # "keywordLocation": "/unevaluatedProperties" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 903 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 904 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "pattern does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/pattern" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 905 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s # 601s ok 906 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "/const_string", 601s # "keywordLocation": "/properties/const_string/const" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "/const_string", 601s # "keywordLocation": "/properties/const_string/const" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 907 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 908 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 909 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "/const_number", 601s # "keywordLocation": "/properties/const_number/const" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "/const_number", 601s # "keywordLocation": "/properties/const_number/const" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 910 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "/enum_string", 601s # "keywordLocation": "/properties/enum_string/enum" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "/enum_string", 601s # "keywordLocation": "/properties/enum_string/enum" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 911 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 912 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 913 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "/enum_number", 601s # "keywordLocation": "/properties/enum_number/enum" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "/enum_number", 601s # "keywordLocation": "/properties/enum_number/enum" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s ok 914 - recursive-dynamic.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "numeric node" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 915 - recursive-dynamic.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "integer node" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "integerNode.json#/type", 601s # "error": "got number, not one of object, integer", 601s # "instanceLocation": "/november", 601s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "inner.json#/additionalProperties", 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/else/$ref/additionalProperties" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "main.json#/else", 601s # "error": "subschema is not valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/else" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "integerNode.json#/type", 601s # "error": "got number, not one of object, integer", 601s # "instanceLocation": "/november", 601s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "inner.json#/additionalProperties", 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/else/$ref/additionalProperties" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "main.json#/else", 601s # "error": "subschema is not valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/else" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 916 - recursive-dynamic.json: "$recursiveRef points to a boolean schema" - "follow $recursiveRef to a true schema" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 917 - recursive-dynamic.json: "$recursiveRef points to a boolean schema" - "follow $recursiveRef to a false schema" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "#/$defs/false", 601s # "error": "subschema is false", 601s # "instanceLocation": "/false", 601s # "keywordLocation": "/properties/false/$recursiveRef" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "#/$defs/false", 601s # "error": "subschema is false", 601s # "instanceLocation": "/false", 601s # "keywordLocation": "/properties/false/$recursiveRef" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s 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" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s 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" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum", 601s # "error": "value is larger than 10", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$ref/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum", 601s # "error": "value is larger than 10", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$ref/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s 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" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s 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" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 601s # "error": "value is larger than 10", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$ref/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 601s # "error": "value is larger than 10", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$ref/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s 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" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s 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" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 601s # "error": "got string, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/allOf/0/$ref/type" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 601s # "error": "got string, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/allOf/0/oneOf/0/type" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf", 601s # "error": "no subschemas are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/allOf/0/oneOf" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf", 601s # "error": "subschema 0 is not valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/allOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 601s # "error": "got string, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/allOf/0/$ref/type" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf", 601s # "error": "subschema 0 is not valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/allOf" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s ok 924 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 925 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 601s # "error": "value is larger than 10", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$ref/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 601s # "error": "value is larger than 10", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$ref/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 926 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 927 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum", 601s # "error": "value is larger than 10", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$ref/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum", 601s # "error": "value is larger than 10", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$ref/maximum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 928 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/enum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value does not match", 601s # "instanceLocation": "", 601s # "keywordLocation": "/enum" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 929 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 930 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "$ref value is not a valid URI reference", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$defs/foo/$ref" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "$ref value is not a valid URI reference", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$defs/foo/$ref" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 931 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "$ref value is not a valid URI reference", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$defs/foo/$ref" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "$ref value is not a valid URI reference", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$defs/foo/$ref" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 932 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 933 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 601s # "error": "got string, not integer", 601s # "instanceLocation": "/list/0", 601s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items", 601s # "error": "subschema is not valid against all items", 601s # "instanceLocation": "/list", 601s # "keywordLocation": "/properties/list/$ref/items" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 601s # "error": "got string, not integer", 601s # "instanceLocation": "/list/0", 601s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items", 601s # "error": "subschema is not valid against all items", 601s # "instanceLocation": "/list", 601s # "keywordLocation": "/properties/list/$ref/items" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s ok 934 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 935 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/1", 601s # "keywordLocation": "/items/multipleOf" 601s # }, 601s # { 601s # "error": "subschema is not valid against all items", 601s # "instanceLocation": "", 601s # "keywordLocation": "/items" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/1", 601s # "keywordLocation": "/items/multipleOf" 601s # }, 601s # { 601s # "error": "subschema is not valid against all items", 601s # "instanceLocation": "", 601s # "keywordLocation": "/items" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 936 - short-circuit.json: "items (array form) does not improperly short-circuit" - "single item is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 937 - short-circuit.json: "items (array form) does not improperly short-circuit" - "second item is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/1", 601s # "keywordLocation": "/items/1/multipleOf" 601s # }, 601s # { 601s # "error": "not all items are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/items" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/1", 601s # "keywordLocation": "/items/1/multipleOf" 601s # }, 601s # { 601s # "error": "not all items are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/items" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 938 - short-circuit.json: "additionalItems does not improperly short-circuit" - "single additional item is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 939 - short-circuit.json: "additionalItems does not improperly short-circuit" - "second additional item is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/2", 601s # "keywordLocation": "/additionalItems/multipleOf" 601s # }, 601s # { 601s # "error": "subschema is not valid against all additional items", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalItems" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/2", 601s # "keywordLocation": "/additionalItems/multipleOf" 601s # }, 601s # { 601s # "error": "subschema is not valid against all additional items", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalItems" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 940 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "single item is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 941 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "second item is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/1", 601s # "keywordLocation": "/unevaluatedItems/multipleOf" 601s # }, 601s # { 601s # "error": "subschema is not valid against all additional items", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedItems" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/1", 601s # "keywordLocation": "/unevaluatedItems/multipleOf" 601s # }, 601s # { 601s # "error": "subschema is not valid against all additional items", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedItems" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 942 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 943 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/properties/beta/multipleOf" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/properties/beta/multipleOf" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 944 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 945 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/properties/beta" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/properties/beta" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/properties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 946 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 947 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/patternProperties/^b/multipleOf" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/patternProperties/^b/multipleOf" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 948 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 949 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/patternProperties/^b" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "property not permitted", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/patternProperties/^b" 601s # }, 601s # { 601s # "error": "not all properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/patternProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 950 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 951 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/additionalProperties/multipleOf" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/additionalProperties/multipleOf" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/additionalProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 952 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "single property is valid" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 953 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "second property is invalid" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/unevaluatedProperties/multipleOf" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "value is not a multiple of 2", 601s # "instanceLocation": "/beta", 601s # "keywordLocation": "/unevaluatedProperties/multipleOf" 601s # }, 601s # { 601s # "error": "not all additional properties are valid", 601s # "instanceLocation": "", 601s # "keywordLocation": "/unevaluatedProperties" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s ok 954 - unknownKeyword.json: "past and future keywords are ignored" - "passing" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 955 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "got string, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/type" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "got string, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/type" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 956 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "got object, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/type" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "got object, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/type" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 957 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "got array, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/type" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "got array, not number", 601s # "instanceLocation": "", 601s # "keywordLocation": "/type" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s ok 958 - vocabulary.json: "valid $vocabulary" - "a valid $vocabulary value" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s 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" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 960 - vocabulary.json: "use schema (invalid $vocabulary) as a metaschema" - "invalid $vocabulary value: wrong specification version" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core", 601s # "error": "\"https://json-schema.org/draft/2020-12/vocab/core\" uses draft2020-12, but the metaschema itself uses draft2019-09", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary", 601s # "error": "the first vocabulary (by evaluation_order) must be Core", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema/$vocabulary" 601s # }, 601s # { 601s # "error": "\"https://mymetaschema2\" is not a valid metaschema", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core", 601s # "error": "\"https://json-schema.org/draft/2020-12/vocab/core\" uses draft2020-12, but the metaschema itself uses draft2019-09", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core" 601s # }, 601s # { 601s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary", 601s # "error": "the first vocabulary (by evaluation_order) must be Core", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema/$vocabulary" 601s # }, 601s # { 601s # "error": "\"https://mymetaschema2\" is not a valid metaschema", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 961 - vocabulary.json: "invalid $vocabulary (unknown URI), but not until we evaluate with this metaschema" - "invalid $vocabulary (unknown URI): register this metaschema" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 962 - vocabulary.json: "use schema (unknown URI) as a metaschema" - "invalid $vocabulary value: unknown URI" { 601s # result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com", 601s # "error": "\"https://foo.com\" is not a known vocabulary", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com" 601s # }, 601s # { 601s # "error": "\"https://mymetaschema3\" is not a valid metaschema", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com", 601s # "error": "\"https://foo.com\" is not a known vocabulary", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com" 601s # }, 601s # { 601s # "error": "\"https://mymetaschema3\" is not a valid metaschema", 601s # "instanceLocation": "", 601s # "keywordLocation": "/$schema" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s ok 963 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 964 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 965 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid date-time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid date-time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 966 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid date-time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid date-time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s ok 967 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid date", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid date", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s ok 968 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 969 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 970 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 971 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 972 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 973 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 974 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 975 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 976 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 601s # result: { 601s # "valid": true 601s # } 601s # short-circuited result: { 601s # "valid": true 601s # } 601s ok 1 - test passes: data is valid: true 601s 1..1 601s } 601s ok 977 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 978 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 979 - optional/format-time.json: "validation of time strings" - "no time offset" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s ok 980 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" { 601s # result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s # short-circuited result: { 601s # "errors": [ 601s # { 601s # "error": "not a valid time", 601s # "instanceLocation": "", 601s # "keywordLocation": "/format" 601s # } 601s # ], 601s # "valid": false 601s # } 601s ok 1 - test passes: data is valid: false 601s 1..1 601s } 601s # 601s # 601s # Results using Test::JSON::Schema::Acceptance 1.021 601s # specification version: draft2019-09 601s # using custom test directory: t/additional-tests-draft2019-09 601s # optional tests included: yes 601s # 601s # filename pass todo-fail fail 601s # --------------------------------------------------------------- 601s # anchor.json 2 0 0 601s # annotation-collection.json 10 0 0 601s # badRef.json 3 0 0 601s # faux-buggy-schemas.json 2 0 0 601s # format-duration.json 9 0 0 601s # format-ipv4.json 4 0 0 601s # format-ipv6.json 17 0 0 601s # format-relative-json-pointer.json 7 0 0 601s # formats.json 4 0 0 601s # id.json 6 0 0 601s # integers.json 29 0 0 601s # keyword-independence.json 812 0 0 601s # loose-types-const-enum.json 8 0 0 601s # recursive-dynamic.json 4 0 0 601s # ref-and-id.json 6 0 0 601s # ref.json 10 0 0 601s # short-circuit.json 20 0 0 601s # unknownKeyword.json 4 0 0 601s # vocabulary.json 5 0 0 601s # optional/format-date-time.json 4 0 0 601s # optional/format-date.json 1 0 0 601s # optional/format-time.json 13 0 0 601s # --------------------------------------------------------------- 601s # TOTAL 980 0 0 601s # 601s # Congratulations, all non-optional tests are passing! 601s # 601s ok 981 - no leaks in the main evaluator object 601s ok 982 - no leaks in the short-circuiting evaluator object 601s ok 983 - got unsupported keyword warnings 601s 1..983 601s ok 623s t/additional-tests-draft2020-12.t ....... 623s # AUTHOR_TESTING: 623s # AUTOMATED_TESTING: 1 623s # EXTENDED_TESTING: 623s # NO_TODO: 623s # TEST_DIR: 623s # NO_SHORT_CIRCUIT: 623s # 623s # running tests in /tmp/autopkgtest.BzCoE7/autopkgtest_tmp/smokeusECz7/t/additional-tests-draft2020-12 against draft2020-12... 623s # 623s ok 1 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 2 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/else/$ref/const" 623s # }, 623s # { 623s # "error": "subschema is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/else" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/else/$ref/const" 623s # }, 623s # { 623s # "error": "subschema is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/else" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 3 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "properties evaluated from allOf" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 4 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "extra property" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/bar", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/bar", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 5 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "properties evaluated from additionalProperties" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 6 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "extra property" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/bar", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/bar", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 7 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "properties evaluated from allOf, but unevaluated is buried" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/foo", 623s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "no subschemas are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/foo", 623s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "no subschemas are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 8 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "no properties" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 9 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "properties evaluated from additionalProperties, but unevaluated is buried" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/foo", 623s # "keywordLocation": "/allOf/0/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/allOf/0/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "subschema 0 is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/allOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/foo", 623s # "keywordLocation": "/allOf/0/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/allOf/0/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "subschema 0 is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/allOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 10 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "no properties" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 11 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 12 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/not" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/not" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 13 - badRef.json: "good references in schemas" - "this data is never used" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 14 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "$ref value is not a valid URI reference", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then/$ref" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "$ref value is not a valid URI reference", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then/$ref" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 15 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "$ref value is not a valid URI reference", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then/$ref" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "$ref value is not a valid URI reference", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then/$ref" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s 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" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "second_scope#/$defs/thingy/type", 623s # "error": "got string, not null", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then/$ref/$dynamicRef/type" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "main#/then", 623s # "error": "subschema is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "second_scope#/$defs/thingy/type", 623s # "error": "got string, not null", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then/$ref/$dynamicRef/type" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "main#/then", 623s # "error": "subschema is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s 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" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "second_scope#/$defs/thingy/type", 623s # "error": "got integer, not null", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then/$ref/$dynamicRef/type" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "main#/then", 623s # "error": "subschema is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "second_scope#/$defs/thingy/type", 623s # "error": "got integer, not null", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then/$ref/$dynamicRef/type" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "main#/then", 623s # "error": "subschema is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/then" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s 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" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 19 - dynamicRef.json: "schema in dynamic scope must have a $dynamicAnchor that matches the fragment" - "value would fail under either subschema" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "orig#/minimum", 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$dynamicRef/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "orig#/minimum", 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$dynamicRef/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s 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" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 21 - dynamicRef.json: "$dynamicRef points to a boolean schema" - "follow $dynamicRef to a true schema" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 22 - dynamicRef.json: "$dynamicRef points to a boolean schema" - "follow $dynamicRef to a false schema" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "#/$defs/false", 623s # "error": "subschema is false", 623s # "instanceLocation": "/false", 623s # "keywordLocation": "/properties/false/$dynamicRef" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "#/$defs/false", 623s # "error": "subschema is false", 623s # "instanceLocation": "/false", 623s # "keywordLocation": "/properties/false/$dynamicRef" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 23 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 24 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 623s # "error": "got string, not integer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/0/type" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 623s # "error": "got string, not integer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/1/type" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/2/const" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/3/enum" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 623s # "error": "no subschemas are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 623s # "error": "got string, not integer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/0/type" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 623s # "error": "got string, not integer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/1/type" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/2/const" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf/3/enum" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 623s # "error": "no subschemas are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/anyOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 25 - format-duration.json: "validation of duration strings" - "years and months can appear without days" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 26 - format-duration.json: "validation of duration strings" - "months and days can appear without years" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 27 - format-duration.json: "validation of duration strings" - "hours and minutes can appear without seconds" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 28 - format-duration.json: "validation of duration strings" - "minutes and seconds can appear without hour" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 29 - format-duration.json: "validation of duration strings" - "elements may be omitted if their value is zero" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 30 - format-duration.json: "validation of duration strings" - "half a year duration, with full stop decimal point" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 31 - format-duration.json: "validation of duration strings" - "half a year duration, with comma decimal point" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 32 - format-duration.json: "validation of duration strings" - "only one unit can have a non-integer quantity" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid duration", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid duration", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 33 - format-duration.json: "validation of duration strings" - "only the smallest unit can have a non-integer quantity" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid duration", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid duration", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 34 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv4", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv4", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 35 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv4", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv4", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 36 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 37 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv4", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv4", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 38 - format-ipv6.json: "validation of ipv6 strings" - "fully expanded with zeroes" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 39 - format-ipv6.json: "validation of ipv6 strings" - "partially collapsed zeroes" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 40 - format-ipv6.json: "validation of ipv6 strings" - "4,2 zeroes" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 41 - format-ipv6.json: "validation of ipv6 strings" - "8 single zeroes, no double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 42 - format-ipv6.json: "validation of ipv6 strings" - "7 single zeroes, leading double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 43 - format-ipv6.json: "validation of ipv6 strings" - "6 single zeroes, leading double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 44 - format-ipv6.json: "validation of ipv6 strings" - "5 single zeroes, leading double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 45 - format-ipv6.json: "validation of ipv6 strings" - "4 single zeroes, leading double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 46 - format-ipv6.json: "validation of ipv6 strings" - "3 single zeroes, leading double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 47 - format-ipv6.json: "validation of ipv6 strings" - "2 single zeroes, leading double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 48 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, leading double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 49 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, trailing double colon" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 50 - format-ipv6.json: "validation of ipv6 strings" - "2 leading colons with 8 zeroes" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 51 - format-ipv6.json: "validation of ipv6 strings" - "1 leading colon with 8 zeroes" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 52 - format-ipv6.json: "validation of ipv6 strings" - "colons in the middle with 8 zeroes" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 53 - format-ipv6.json: "validation of ipv6 strings" - "1 trailing colon with 8 zeroes" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 54 - format-ipv6.json: "validation of ipv6 strings" - "2 trailing colons with 8 zeroes" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid ipv6", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 55 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 56 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 57 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 58 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 59 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid relative-json-pointer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid relative-json-pointer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 60 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid relative-json-pointer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid relative-json-pointer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 61 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid relative-json-pointer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "not a valid relative-json-pointer", 623s # "instanceLocation": "", 623s # "keywordLocation": "/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 62 - formats.json: "format validation after a $ref" - "invalid duration" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "#/$defs/my_format/format", 623s # "error": "not a valid duration", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$ref/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "#/$defs/my_format/format", 623s # "error": "not a valid duration", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$ref/format" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 63 - formats.json: "format validation after a $ref" - "valid duration" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 64 - formats.json: "format validation after an $id" - "invalid duration" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "bloop#/allOf/0/format", 623s # "error": "not a valid duration", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items/allOf/0/format" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "bloop#/allOf", 623s # "error": "subschema 0 is not valid", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items/allOf" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "bloop#/allOf/0/format", 623s # "error": "not a valid duration", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items/allOf/0/format" 623s # }, 623s # { 623s # "absoluteKeywordLocation": "bloop#/allOf", 623s # "error": "subschema 0 is not valid", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items/allOf" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 65 - formats.json: "format validation after an $id" - "valid duration" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s # 623s ok 66 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 67 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 623s # result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/else/$ref/const" 623s # }, 623s # { 623s # "error": "subschema is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/else" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/else/$ref/const" 623s # }, 623s # { 623s # "error": "subschema is not valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/else" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 68 - id.json: "'' not permitted as $id" - "schema would pass without $id" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "$id cannot be empty", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$id" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "$id cannot be empty", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$id" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 69 - id.json: "'' not permitted as $id" - "schema would fail even without $id" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "$id cannot be empty", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$id" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "$id cannot be empty", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$id" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 70 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "$id cannot be empty", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$id" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "$id cannot be empty", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$id" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 71 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "$id cannot be empty", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$id" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "$id cannot be empty", 623s # "instanceLocation": "", 623s # "keywordLocation": "/$id" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s # 623s ok 72 - integers.json: "type checks" - "beyond int64 lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 73 - integers.json: "type checks" - "int64 lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 74 - integers.json: "type checks" - "beyond int32 lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 75 - integers.json: "type checks" - "int32 lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 76 - integers.json: "type checks" - "zero" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 77 - integers.json: "type checks" - "int32 upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 78 - integers.json: "type checks" - "beyond int32 upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 79 - integers.json: "type checks" - "upper int64 boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 80 - integers.json: "type checks" - "beyond int64 upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 81 - integers.json: "int32 range checks" - "beyond lower boundary" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than -2147483648", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than -2147483648", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 82 - integers.json: "int32 range checks" - "lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 83 - integers.json: "int32 range checks" - "zero" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 84 - integers.json: "int32 range checks" - "upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 85 - integers.json: "int32 range checks" - "beyond upper boundary" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2147483647", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2147483647", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 86 - integers.json: "int64 range checks" - "beyond lower boundary" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than -9223372036854775808", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than -9223372036854775808", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 87 - integers.json: "int64 range checks" - "lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 88 - integers.json: "int64 range checks" - "zero" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 89 - integers.json: "int64 range checks" - "upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 90 - integers.json: "int64 range checks" - "beyond upper boundary" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 9223372036854775807", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 9223372036854775807", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 91 - integers.json: "equality checks" - "beyond int64 lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 92 - integers.json: "equality checks" - "int64 lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 93 - integers.json: "equality checks" - "beyond int32 lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 94 - integers.json: "equality checks" - "int32 lower boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 95 - integers.json: "equality checks" - "zero" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 96 - integers.json: "equality checks" - "one" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/enum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/enum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 97 - integers.json: "equality checks" - "int32 upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 98 - integers.json: "equality checks" - "beyond int32 upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 99 - integers.json: "equality checks" - "int64 upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 100 - integers.json: "equality checks" - "beyond int64 upper boundary" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s # 623s ok 101 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 102 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 103 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 104 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 105 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 106 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 107 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 108 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 109 - keyword-independence.json: "contains + maximum" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 110 - keyword-independence.json: "contains + maximum" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 111 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 112 - keyword-independence.json: "contains + maximum" - "number, maximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 113 - keyword-independence.json: "contains + minimum" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 114 - keyword-independence.json: "contains + minimum" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 115 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 116 - keyword-independence.json: "contains + minimum" - "number, minimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 117 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 118 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 119 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 120 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 121 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 122 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 123 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 124 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 125 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 126 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 127 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 128 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 129 - keyword-independence.json: "items + maximum" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 130 - keyword-independence.json: "items + maximum" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 131 - keyword-independence.json: "items + maximum" - "number, maximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 132 - keyword-independence.json: "items + maximum" - "number, maximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 133 - keyword-independence.json: "items + minimum" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 134 - keyword-independence.json: "items + minimum" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 135 - keyword-independence.json: "items + minimum" - "number, minimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 136 - keyword-independence.json: "items + minimum" - "number, minimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 137 - keyword-independence.json: "items + multipleOf" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 138 - keyword-independence.json: "items + multipleOf" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 139 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 140 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 141 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 142 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 143 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 144 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 145 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 146 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 147 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 148 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 149 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 150 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 151 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 152 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 153 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 154 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 155 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 156 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 157 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 158 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 159 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 160 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 161 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 162 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 163 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 164 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 165 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 166 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 167 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 168 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 169 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 170 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 171 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 172 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 173 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 174 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 175 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 176 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 177 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 178 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 179 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 180 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 181 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 182 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 183 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "number, exclusiveMaximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 184 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "number, exclusiveMaximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 185 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 186 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 187 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "number, exclusiveMinimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 188 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "number, exclusiveMinimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 189 - keyword-independence.json: "maximum + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 190 - keyword-independence.json: "maximum + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 191 - keyword-independence.json: "maximum + prefixItems" - "number, maximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 192 - keyword-independence.json: "maximum + prefixItems" - "number, maximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 193 - keyword-independence.json: "minimum + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 194 - keyword-independence.json: "minimum + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 195 - keyword-independence.json: "minimum + prefixItems" - "number, minimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 196 - keyword-independence.json: "minimum + prefixItems" - "number, minimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 197 - keyword-independence.json: "multipleOf + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 198 - keyword-independence.json: "multipleOf + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 199 - keyword-independence.json: "multipleOf + prefixItems" - "number, multipleOf invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 200 - keyword-independence.json: "multipleOf + prefixItems" - "number, multipleOf valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 201 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 202 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 203 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 204 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 205 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 206 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 207 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 208 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 209 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 210 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 211 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 212 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 213 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 214 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 215 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 216 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 217 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 218 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 219 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 220 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 221 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 222 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 223 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMaximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 224 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 225 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 226 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 227 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is equal to or smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/exclusiveMinimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 228 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 229 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 230 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 231 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is larger than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maximum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 232 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 233 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 234 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 235 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is smaller than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minimum" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 236 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 237 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 238 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 239 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "value is not a multiple of 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/multipleOf" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 240 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 241 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 242 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 243 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 244 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 245 - keyword-independence.json: "contains + dependentRequired" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 246 - keyword-independence.json: "contains + dependentRequired" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 247 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 248 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 249 - keyword-independence.json: "contains + dependentSchemas" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 250 - keyword-independence.json: "contains + dependentSchemas" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 251 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 252 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 253 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 254 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 255 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 256 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 257 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 258 - keyword-independence.json: "contains + minProperties" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 259 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 260 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 261 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 262 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 263 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 264 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 265 - keyword-independence.json: "contains + properties" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 266 - keyword-independence.json: "contains + properties" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 267 - keyword-independence.json: "contains + properties" - "object, properties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 268 - keyword-independence.json: "contains + properties" - "object, properties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 269 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 270 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 271 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 272 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 273 - keyword-independence.json: "contains + required" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 274 - keyword-independence.json: "contains + required" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 275 - keyword-independence.json: "contains + required" - "object, required invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 276 - keyword-independence.json: "contains + required" - "object, required valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 277 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 278 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 279 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 280 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 281 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 282 - keyword-independence.json: "additionalProperties + items" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 283 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 284 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 285 - keyword-independence.json: "dependentRequired + items" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 286 - keyword-independence.json: "dependentRequired + items" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 287 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 288 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 289 - keyword-independence.json: "dependentSchemas + items" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 290 - keyword-independence.json: "dependentSchemas + items" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 291 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 292 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 293 - keyword-independence.json: "items + maxProperties" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 294 - keyword-independence.json: "items + maxProperties" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 295 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 296 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 297 - keyword-independence.json: "items + minProperties" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 298 - keyword-independence.json: "items + minProperties" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 299 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 300 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 301 - keyword-independence.json: "items + patternProperties" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 302 - keyword-independence.json: "items + patternProperties" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 303 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 304 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 305 - keyword-independence.json: "items + properties" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 306 - keyword-independence.json: "items + properties" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 307 - keyword-independence.json: "items + properties" - "object, properties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 308 - keyword-independence.json: "items + properties" - "object, properties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 309 - keyword-independence.json: "items + propertyNames" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 310 - keyword-independence.json: "items + propertyNames" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 311 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 312 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 313 - keyword-independence.json: "items + required" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 314 - keyword-independence.json: "items + required" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 315 - keyword-independence.json: "items + required" - "object, required invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 316 - keyword-independence.json: "items + required" - "object, required valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 317 - keyword-independence.json: "items + unevaluatedProperties" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 318 - keyword-independence.json: "items + unevaluatedProperties" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 319 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 320 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 321 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 322 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 323 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 324 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 325 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 326 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 327 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 328 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 329 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 330 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 331 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 332 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 333 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 334 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 335 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 336 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 337 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 338 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 339 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 340 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 341 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 342 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 343 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 344 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 345 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 346 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 347 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 348 - keyword-independence.json: "maxItems + properties" - "object, properties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 349 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 350 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 351 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 352 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 353 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 354 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 355 - keyword-independence.json: "maxItems + required" - "object, required invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 356 - keyword-independence.json: "maxItems + required" - "object, required valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 357 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 358 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 359 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 360 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 361 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 362 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 363 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 364 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 365 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 366 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 367 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 368 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 369 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 370 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 371 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 372 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 373 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 374 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 375 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 376 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 377 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 378 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 379 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 380 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 381 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 382 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 383 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 384 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 385 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 386 - keyword-independence.json: "minItems + properties" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 387 - keyword-independence.json: "minItems + properties" - "object, properties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 388 - keyword-independence.json: "minItems + properties" - "object, properties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 389 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 390 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 391 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 392 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 393 - keyword-independence.json: "minItems + required" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 394 - keyword-independence.json: "minItems + required" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 395 - keyword-independence.json: "minItems + required" - "object, required invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 396 - keyword-independence.json: "minItems + required" - "object, required valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 397 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 398 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 399 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 400 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 401 - keyword-independence.json: "additionalProperties + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 402 - keyword-independence.json: "additionalProperties + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 403 - keyword-independence.json: "additionalProperties + prefixItems" - "object, additionalProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 404 - keyword-independence.json: "additionalProperties + prefixItems" - "object, additionalProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 405 - keyword-independence.json: "dependentRequired + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 406 - keyword-independence.json: "dependentRequired + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 407 - keyword-independence.json: "dependentRequired + prefixItems" - "object, dependentRequired invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 408 - keyword-independence.json: "dependentRequired + prefixItems" - "object, dependentRequired valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 409 - keyword-independence.json: "dependentSchemas + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 410 - keyword-independence.json: "dependentSchemas + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 411 - keyword-independence.json: "dependentSchemas + prefixItems" - "object, dependentSchemas invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 412 - keyword-independence.json: "dependentSchemas + prefixItems" - "object, dependentSchemas valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 413 - keyword-independence.json: "maxProperties + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 414 - keyword-independence.json: "maxProperties + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 415 - keyword-independence.json: "maxProperties + prefixItems" - "object, maxProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 416 - keyword-independence.json: "maxProperties + prefixItems" - "object, maxProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 417 - keyword-independence.json: "minProperties + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 418 - keyword-independence.json: "minProperties + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 419 - keyword-independence.json: "minProperties + prefixItems" - "object, minProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 420 - keyword-independence.json: "minProperties + prefixItems" - "object, minProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 421 - keyword-independence.json: "patternProperties + prefixItems" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 422 - keyword-independence.json: "patternProperties + prefixItems" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 423 - keyword-independence.json: "patternProperties + prefixItems" - "object, patternProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 424 - keyword-independence.json: "patternProperties + prefixItems" - "object, patternProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 425 - keyword-independence.json: "prefixItems + properties" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 426 - keyword-independence.json: "prefixItems + properties" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 427 - keyword-independence.json: "prefixItems + properties" - "object, properties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 428 - keyword-independence.json: "prefixItems + properties" - "object, properties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 429 - keyword-independence.json: "prefixItems + propertyNames" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 430 - keyword-independence.json: "prefixItems + propertyNames" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 431 - keyword-independence.json: "prefixItems + propertyNames" - "object, propertyNames invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 432 - keyword-independence.json: "prefixItems + propertyNames" - "object, propertyNames valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 433 - keyword-independence.json: "prefixItems + required" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 434 - keyword-independence.json: "prefixItems + required" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 435 - keyword-independence.json: "prefixItems + required" - "object, required invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 436 - keyword-independence.json: "prefixItems + required" - "object, required valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 437 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "array, prefixItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/prefixItems/0" 623s # }, 623s # { 623s # "error": "not all items are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/prefixItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 438 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "array, prefixItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 439 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 440 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 441 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 442 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 443 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 444 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 445 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 446 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 447 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 448 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 449 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 450 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 451 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 452 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 453 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 454 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 455 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 456 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 457 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 458 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 459 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 460 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 461 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 462 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 463 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 464 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 465 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 466 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 467 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 468 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 469 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 470 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 471 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 472 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 473 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 474 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 475 - keyword-independence.json: "required + unevaluatedItems" - "object, required invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 476 - keyword-independence.json: "required + unevaluatedItems" - "object, required valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 477 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/unevaluatedItems" 623s # }, 623s # { 623s # "error": "subschema is not valid against all additional items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 478 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 479 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 480 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 481 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 482 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 483 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/additionalProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/additionalProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 484 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 485 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 486 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 487 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: y", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentRequired" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 488 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 489 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 490 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 491 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas/x" 623s # }, 623s # { 623s # "error": "not all dependencies are satisfied", 623s # "instanceLocation": "", 623s # "keywordLocation": "/dependentSchemas" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 492 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 493 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 494 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 495 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has more than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 496 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 497 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 498 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 499 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object has fewer than 1 property", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 500 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 501 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 502 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 503 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/no", 623s # "keywordLocation": "/patternProperties/no" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/patternProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 504 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 505 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 506 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 507 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/properties/x" 623s # }, 623s # { 623s # "error": "not all properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/properties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 508 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 509 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 510 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 511 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is false", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/propertyNames" 623s # }, 623s # { 623s # "error": "not all property names are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/propertyNames" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 512 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 513 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 514 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 515 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "object is missing property: x", 623s # "instanceLocation": "", 623s # "keywordLocation": "/required" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 516 - keyword-independence.json: "required + uniqueItems" - "object, required valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 517 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "items at indices 0 and 1 are not unique", 623s # "instanceLocation": "", 623s # "keywordLocation": "/uniqueItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 518 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 519 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "additional property not permitted", 623s # "instanceLocation": "/x", 623s # "keywordLocation": "/unevaluatedProperties" 623s # }, 623s # { 623s # "error": "not all additional properties are valid", 623s # "instanceLocation": "", 623s # "keywordLocation": "/unevaluatedProperties" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 520 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 521 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 522 - keyword-independence.json: "contains + maxLength" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 523 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "length is greater than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "length is greater than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 524 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 525 - keyword-independence.json: "contains + minLength" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 526 - keyword-independence.json: "contains + minLength" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 527 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "length is less than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "length is less than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 528 - keyword-independence.json: "contains + minLength" - "string, minLength valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 529 - keyword-independence.json: "contains + pattern" - "array, contains invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "subschema is not valid against any item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/contains" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 530 - keyword-independence.json: "contains + pattern" - "array, contains valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 531 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "pattern does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/pattern" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "pattern does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/pattern" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 532 - keyword-independence.json: "contains + pattern" - "string, pattern valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 533 - keyword-independence.json: "items + maxLength" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 534 - keyword-independence.json: "items + maxLength" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 535 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "length is greater than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "length is greater than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 536 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 537 - keyword-independence.json: "items + minLength" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 538 - keyword-independence.json: "items + minLength" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 539 - keyword-independence.json: "items + minLength" - "string, minLength invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "length is less than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "length is less than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 540 - keyword-independence.json: "items + minLength" - "string, minLength valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 541 - keyword-independence.json: "items + pattern" - "array, items invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "item not permitted", 623s # "instanceLocation": "/0", 623s # "keywordLocation": "/items" 623s # }, 623s # { 623s # "error": "subschema is not valid against all items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/items" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 542 - keyword-independence.json: "items + pattern" - "array, items valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 543 - keyword-independence.json: "items + pattern" - "string, pattern invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "pattern does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/pattern" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "pattern does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/pattern" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 544 - keyword-independence.json: "items + pattern" - "string, pattern valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 545 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 546 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 547 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "length is greater than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "length is greater than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 548 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 549 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 550 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 551 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "length is less than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "length is less than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 552 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 553 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has more than 1 item", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 554 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 555 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "pattern does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/pattern" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "pattern does not match", 623s # "instanceLocation": "", 623s # "keywordLocation": "/pattern" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 556 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 557 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 558 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 559 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "length is greater than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "length is greater than 2", 623s # "instanceLocation": "", 623s # "keywordLocation": "/maxLength" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 560 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 623s ok 561 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" { 623s # result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s # short-circuited result: { 623s # "errors": [ 623s # { 623s # "error": "array has fewer than 2 items", 623s # "instanceLocation": "", 623s # "keywordLocation": "/minItems" 623s # } 623s # ], 623s # "valid": false 623s # } 623s ok 1 - test passes: data is valid: false 623s 1..1 623s } 623s ok 562 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" { 623s # result: { 623s # "valid": true 623s # } 623s # short-circuited result: { 623s # "valid": true 623s # } 623s ok 1 - test passes: data is valid: true 623s 1..1 623s } 624s ok 563 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 564 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 565 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "array has fewer than 2 items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "array has fewer than 2 items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 566 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 567 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 568 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 569 - keyword-independence.json: "maxLength + prefixItems" - "array, prefixItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/prefixItems/0" 624s # }, 624s # { 624s # "error": "not all items are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/prefixItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/prefixItems/0" 624s # }, 624s # { 624s # "error": "not all items are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/prefixItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 570 - keyword-independence.json: "maxLength + prefixItems" - "array, prefixItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 571 - keyword-independence.json: "maxLength + prefixItems" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 572 - keyword-independence.json: "maxLength + prefixItems" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 573 - keyword-independence.json: "minLength + prefixItems" - "array, prefixItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/prefixItems/0" 624s # }, 624s # { 624s # "error": "not all items are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/prefixItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/prefixItems/0" 624s # }, 624s # { 624s # "error": "not all items are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/prefixItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 574 - keyword-independence.json: "minLength + prefixItems" - "array, prefixItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 575 - keyword-independence.json: "minLength + prefixItems" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 576 - keyword-independence.json: "minLength + prefixItems" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 577 - keyword-independence.json: "pattern + prefixItems" - "array, prefixItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/prefixItems/0" 624s # }, 624s # { 624s # "error": "not all items are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/prefixItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/prefixItems/0" 624s # }, 624s # { 624s # "error": "not all items are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/prefixItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 578 - keyword-independence.json: "pattern + prefixItems" - "array, prefixItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 579 - keyword-independence.json: "pattern + prefixItems" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 580 - keyword-independence.json: "pattern + prefixItems" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 581 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/unevaluatedItems" 624s # }, 624s # { 624s # "error": "subschema is not valid against all additional items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/unevaluatedItems" 624s # }, 624s # { 624s # "error": "subschema is not valid against all additional items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 582 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 583 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 584 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 585 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/unevaluatedItems" 624s # }, 624s # { 624s # "error": "subschema is not valid against all additional items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/unevaluatedItems" 624s # }, 624s # { 624s # "error": "subschema is not valid against all additional items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 586 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 587 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 588 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 589 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/unevaluatedItems" 624s # }, 624s # { 624s # "error": "subschema is not valid against all additional items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional item not permitted", 624s # "instanceLocation": "/0", 624s # "keywordLocation": "/unevaluatedItems" 624s # }, 624s # { 624s # "error": "subschema is not valid against all additional items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 590 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 591 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 592 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 593 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "items at indices 0 and 1 are not unique", 624s # "instanceLocation": "", 624s # "keywordLocation": "/uniqueItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "items at indices 0 and 1 are not unique", 624s # "instanceLocation": "", 624s # "keywordLocation": "/uniqueItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 594 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 595 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 596 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 597 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "items at indices 0 and 1 are not unique", 624s # "instanceLocation": "", 624s # "keywordLocation": "/uniqueItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "items at indices 0 and 1 are not unique", 624s # "instanceLocation": "", 624s # "keywordLocation": "/uniqueItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 598 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 599 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 600 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 601 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "items at indices 0 and 1 are not unique", 624s # "instanceLocation": "", 624s # "keywordLocation": "/uniqueItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "items at indices 0 and 1 are not unique", 624s # "instanceLocation": "", 624s # "keywordLocation": "/uniqueItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 602 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 603 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 604 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 605 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 606 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 607 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 608 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 609 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 610 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 611 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 612 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 613 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 614 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 615 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 616 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 617 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 618 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 619 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 620 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 621 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 622 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 623 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 624 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 625 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 626 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 627 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 628 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 629 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 630 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 631 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 632 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 633 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 634 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 635 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 636 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 637 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 638 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 639 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 640 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 641 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 642 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 643 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 644 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 645 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 646 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 647 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 648 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 649 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 650 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 651 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 652 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 653 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 654 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 655 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 656 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 657 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 658 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 659 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 660 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 661 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 662 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 663 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 664 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 665 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 666 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 667 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 668 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 669 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 670 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 671 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 672 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 673 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 674 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 675 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 676 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 677 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 678 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 679 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 680 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 681 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 682 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 683 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 684 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 685 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 686 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 687 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 688 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 689 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 690 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 691 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 692 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 693 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 694 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 695 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 696 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 697 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 698 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 699 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 700 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 701 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 702 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 703 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 704 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 705 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 706 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 707 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 708 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 709 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 710 - keyword-independence.json: "maximum + properties" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 711 - keyword-independence.json: "maximum + properties" - "object, properties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 712 - keyword-independence.json: "maximum + properties" - "object, properties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 713 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 714 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 715 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 716 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 717 - keyword-independence.json: "maximum + required" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 718 - keyword-independence.json: "maximum + required" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 719 - keyword-independence.json: "maximum + required" - "object, required invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 720 - keyword-independence.json: "maximum + required" - "object, required valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 721 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 722 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 723 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 724 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 725 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 726 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 727 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 728 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 729 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 730 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 731 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 732 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 733 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 734 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 735 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 736 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 737 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 738 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 739 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 740 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 741 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 742 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 743 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 744 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 745 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 746 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 747 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 748 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 749 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 750 - keyword-independence.json: "minimum + properties" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 751 - keyword-independence.json: "minimum + properties" - "object, properties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 752 - keyword-independence.json: "minimum + properties" - "object, properties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 753 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 754 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 755 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 756 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 757 - keyword-independence.json: "minimum + required" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 758 - keyword-independence.json: "minimum + required" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 759 - keyword-independence.json: "minimum + required" - "object, required invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 760 - keyword-independence.json: "minimum + required" - "object, required valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 761 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 762 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 763 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 764 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 765 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 766 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 767 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 768 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 769 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 770 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 771 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 772 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 773 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 774 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 775 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 776 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 777 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 778 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 779 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 780 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 781 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 782 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 783 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 784 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 785 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 786 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 787 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 788 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 789 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 790 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 791 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 792 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 793 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 794 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 795 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 796 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 797 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 798 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 799 - keyword-independence.json: "multipleOf + required" - "object, required invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 800 - keyword-independence.json: "multipleOf + required" - "object, required valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 801 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 802 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 803 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 804 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 805 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 806 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 807 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 808 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 809 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 810 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 811 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 812 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 813 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMaximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 814 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 815 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 816 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 817 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 818 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 819 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 820 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 821 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 822 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 823 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 824 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 825 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is equal to or smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/exclusiveMinimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 826 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 827 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 828 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 829 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 830 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 831 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 832 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 833 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 834 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 835 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 836 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 837 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is larger than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 838 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 839 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 840 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 841 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 842 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 843 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 844 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 845 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 846 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 847 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 848 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 849 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is smaller than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minimum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 850 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 851 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 852 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 853 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 854 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 855 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 856 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 857 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 858 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 859 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 860 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 861 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/multipleOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 862 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 863 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 864 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 865 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 866 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 867 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 868 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 869 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 870 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 871 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 872 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 873 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/additionalProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 874 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 875 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 876 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 877 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 878 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 879 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 880 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 881 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 882 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 883 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 884 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 885 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: y", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentRequired" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 886 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 887 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 888 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 889 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 890 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 891 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 892 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 893 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 894 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 895 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 896 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 897 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas/x" 624s # }, 624s # { 624s # "error": "not all dependencies are satisfied", 624s # "instanceLocation": "", 624s # "keywordLocation": "/dependentSchemas" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 898 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 899 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 900 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 901 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 902 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 903 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 904 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 905 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 906 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 907 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 908 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 909 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has more than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 910 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 911 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 912 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 913 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 914 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 915 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 916 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 917 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 918 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 919 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 920 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 921 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object has fewer than 1 property", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 922 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 923 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 924 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 925 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 926 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 927 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 928 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 929 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 930 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 931 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 932 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 933 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/no", 624s # "keywordLocation": "/patternProperties/no" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 934 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 935 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 936 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 937 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 938 - keyword-independence.json: "maxLength + properties" - "object, properties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 939 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 940 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 941 - keyword-independence.json: "minLength + properties" - "object, properties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 942 - keyword-independence.json: "minLength + properties" - "object, properties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 943 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 944 - keyword-independence.json: "minLength + properties" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 945 - keyword-independence.json: "pattern + properties" - "object, properties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/properties/x" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 946 - keyword-independence.json: "pattern + properties" - "object, properties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 947 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 948 - keyword-independence.json: "pattern + properties" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 949 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 950 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 951 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 952 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 953 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 954 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 955 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 956 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 957 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "subschema is false", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/propertyNames" 624s # }, 624s # { 624s # "error": "not all property names are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/propertyNames" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 958 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 959 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 960 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 961 - keyword-independence.json: "maxLength + required" - "object, required invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 962 - keyword-independence.json: "maxLength + required" - "object, required valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 963 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 964 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 965 - keyword-independence.json: "minLength + required" - "object, required invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 966 - keyword-independence.json: "minLength + required" - "object, required valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 967 - keyword-independence.json: "minLength + required" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 968 - keyword-independence.json: "minLength + required" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 969 - keyword-independence.json: "pattern + required" - "object, required invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "object is missing property: x", 624s # "instanceLocation": "", 624s # "keywordLocation": "/required" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 970 - keyword-independence.json: "pattern + required" - "object, required valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 971 - keyword-independence.json: "pattern + required" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 972 - keyword-independence.json: "pattern + required" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 973 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 974 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 975 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is greater than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/maxLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 976 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 977 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 978 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 979 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "length is less than 2", 624s # "instanceLocation": "", 624s # "keywordLocation": "/minLength" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 980 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 981 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "additional property not permitted", 624s # "instanceLocation": "/x", 624s # "keywordLocation": "/unevaluatedProperties" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 982 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 983 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "pattern does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/pattern" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 984 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s # 624s ok 985 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "/const_string", 624s # "keywordLocation": "/properties/const_string/const" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "/const_string", 624s # "keywordLocation": "/properties/const_string/const" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 986 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 987 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 988 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "/const_number", 624s # "keywordLocation": "/properties/const_number/const" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "/const_number", 624s # "keywordLocation": "/properties/const_number/const" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 989 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "/enum_string", 624s # "keywordLocation": "/properties/enum_string/enum" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "/enum_string", 624s # "keywordLocation": "/properties/enum_string/enum" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 990 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 991 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 992 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "/enum_number", 624s # "keywordLocation": "/properties/enum_number/enum" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "/enum_number", 624s # "keywordLocation": "/properties/enum_number/enum" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s ok 993 - recursive-dynamic.json: "dynamic $dynamicRef destination (not predictable at schema compile time)" - "numeric node" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 994 - recursive-dynamic.json: "dynamic $dynamicRef destination (not predictable at schema compile time)" - "integer node" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "integerNode.json#/type", 624s # "error": "got number, not one of object, integer", 624s # "instanceLocation": "/november", 624s # "keywordLocation": "/else/$ref/additionalProperties/$dynamicRef/type" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "inner.json#/additionalProperties", 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/else/$ref/additionalProperties" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "main.json#/else", 624s # "error": "subschema is not valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/else" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "integerNode.json#/type", 624s # "error": "got number, not one of object, integer", 624s # "instanceLocation": "/november", 624s # "keywordLocation": "/else/$ref/additionalProperties/$dynamicRef/type" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "inner.json#/additionalProperties", 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/else/$ref/additionalProperties" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "main.json#/else", 624s # "error": "subschema is not valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/else" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s 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" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s 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" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum", 624s # "error": "value is larger than 10", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$ref/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum", 624s # "error": "value is larger than 10", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$ref/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s 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" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s 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" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 624s # "error": "value is larger than 10", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$ref/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 624s # "error": "value is larger than 10", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$ref/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s 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" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s 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" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 624s # "error": "got string, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/allOf/0/$ref/type" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 624s # "error": "got string, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/allOf/0/oneOf/0/type" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf", 624s # "error": "no subschemas are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/allOf/0/oneOf" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf", 624s # "error": "subschema 0 is not valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/allOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 624s # "error": "got string, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/allOf/0/$ref/type" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf", 624s # "error": "subschema 0 is not valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/allOf" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s ok 1001 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1002 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 624s # "error": "value is larger than 10", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$ref/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 624s # "error": "value is larger than 10", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$ref/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1003 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1004 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum", 624s # "error": "value is larger than 10", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$ref/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum", 624s # "error": "value is larger than 10", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$ref/maximum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1005 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/enum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value does not match", 624s # "instanceLocation": "", 624s # "keywordLocation": "/enum" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1006 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1007 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "$ref value is not a valid URI reference", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$defs/foo/$ref" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "$ref value is not a valid URI reference", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$defs/foo/$ref" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1008 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "$ref value is not a valid URI reference", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$defs/foo/$ref" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "$ref value is not a valid URI reference", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$defs/foo/$ref" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1009 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1010 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 624s # "error": "got string, not integer", 624s # "instanceLocation": "/list/0", 624s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items", 624s # "error": "subschema is not valid against all items", 624s # "instanceLocation": "/list", 624s # "keywordLocation": "/properties/list/$ref/items" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 624s # "error": "got string, not integer", 624s # "instanceLocation": "/list/0", 624s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items", 624s # "error": "subschema is not valid against all items", 624s # "instanceLocation": "/list", 624s # "keywordLocation": "/properties/list/$ref/items" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s ok 1011 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1012 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/1", 624s # "keywordLocation": "/items/multipleOf" 624s # }, 624s # { 624s # "error": "subschema is not valid against all items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/items" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/1", 624s # "keywordLocation": "/items/multipleOf" 624s # }, 624s # { 624s # "error": "subschema is not valid against all items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/items" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1013 - short-circuit.json: "prefixItems does not improperly short-circuit" - "single item is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1014 - short-circuit.json: "prefixItems does not improperly short-circuit" - "second item is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/1", 624s # "keywordLocation": "/prefixItems/1/multipleOf" 624s # }, 624s # { 624s # "error": "not all items are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/prefixItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/1", 624s # "keywordLocation": "/prefixItems/1/multipleOf" 624s # }, 624s # { 624s # "error": "not all items are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/prefixItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1015 - short-circuit.json: "items does not improperly short-circuit" - "single additional item is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1016 - short-circuit.json: "items does not improperly short-circuit" - "second additional item is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/2", 624s # "keywordLocation": "/items/multipleOf" 624s # }, 624s # { 624s # "error": "subschema is not valid against all items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/items" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/2", 624s # "keywordLocation": "/items/multipleOf" 624s # }, 624s # { 624s # "error": "subschema is not valid against all items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/items" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1017 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "single item is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1018 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "second item is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/1", 624s # "keywordLocation": "/unevaluatedItems/multipleOf" 624s # }, 624s # { 624s # "error": "subschema is not valid against all additional items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/1", 624s # "keywordLocation": "/unevaluatedItems/multipleOf" 624s # }, 624s # { 624s # "error": "subschema is not valid against all additional items", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedItems" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1019 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1020 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/properties/beta/multipleOf" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/properties/beta/multipleOf" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1021 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1022 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/properties/beta" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/properties/beta" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/properties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1023 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1024 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/patternProperties/^b/multipleOf" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/patternProperties/^b/multipleOf" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1025 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1026 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/patternProperties/^b" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "property not permitted", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/patternProperties/^b" 624s # }, 624s # { 624s # "error": "not all properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/patternProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1027 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1028 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/additionalProperties/multipleOf" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/additionalProperties/multipleOf" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/additionalProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1029 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "single property is valid" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1030 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "second property is invalid" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/unevaluatedProperties/multipleOf" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "value is not a multiple of 2", 624s # "instanceLocation": "/beta", 624s # "keywordLocation": "/unevaluatedProperties/multipleOf" 624s # }, 624s # { 624s # "error": "not all additional properties are valid", 624s # "instanceLocation": "", 624s # "keywordLocation": "/unevaluatedProperties" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s ok 1031 - unknownKeyword.json: "past and future keywords are ignored" - "passing" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1032 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "got string, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/type" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "got string, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/type" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1033 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "got object, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/type" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "got object, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/type" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1034 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "got array, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/type" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "got array, not number", 624s # "instanceLocation": "", 624s # "keywordLocation": "/type" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s ok 1035 - vocabulary.json: "valid $vocabulary" - "a valid $vocabulary value" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s 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" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1037 - vocabulary.json: "use schema (invalid $vocabulary) as a metaschema" - "invalid $vocabulary value: wrong specification version" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core", 624s # "error": "\"https://json-schema.org/draft/2019-09/vocab/core\" uses draft2019-09, but the metaschema itself uses draft2020-12", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary", 624s # "error": "the first vocabulary (by evaluation_order) must be Core", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema/$vocabulary" 624s # }, 624s # { 624s # "error": "\"https://mymetaschema2\" is not a valid metaschema", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core", 624s # "error": "\"https://json-schema.org/draft/2019-09/vocab/core\" uses draft2019-09, but the metaschema itself uses draft2020-12", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core" 624s # }, 624s # { 624s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary", 624s # "error": "the first vocabulary (by evaluation_order) must be Core", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema/$vocabulary" 624s # }, 624s # { 624s # "error": "\"https://mymetaschema2\" is not a valid metaschema", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1038 - vocabulary.json: "invalid $vocabulary (unknown URI), but not until we evaluate with this metaschema" - "invalid $vocabulary (unknown URI): register this metaschema" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1039 - vocabulary.json: "use schema (unknown URI) as a metaschema" - "invalid $vocabulary value: unknown URI" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com", 624s # "error": "\"https://foo.com\" is not a known vocabulary", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com" 624s # }, 624s # { 624s # "error": "\"https://mymetaschema3\" is not a valid metaschema", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com", 624s # "error": "\"https://foo.com\" is not a known vocabulary", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com" 624s # }, 624s # { 624s # "error": "\"https://mymetaschema3\" is not a valid metaschema", 624s # "instanceLocation": "", 624s # "keywordLocation": "/$schema" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1040 - vocabulary.json: "custom metaschema with format-assertion: false" - "custom metaschema is loaded" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1041 - vocabulary.json: "custom metaschema with format-assertion: true" - "custom metaschema is loaded" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1042 - vocabulary.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: valid string" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1043 - vocabulary.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: invalid string" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format", 624s # "error": "not a valid ipv4", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format", 624s # "error": "not a valid ipv4", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1044 - vocabulary.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: valid string" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1045 - vocabulary.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: invalid string" { 624s # result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format", 624s # "error": "not a valid ipv4", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format", 624s # "error": "not a valid ipv4", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s ok 1046 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1047 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1048 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid date-time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid date-time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1049 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid date-time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid date-time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s ok 1050 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid date", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid date", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s ok 1051 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1052 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1053 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1054 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1055 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1056 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1057 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1058 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1059 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 624s # result: { 624s # "valid": true 624s # } 624s # short-circuited result: { 624s # "valid": true 624s # } 624s ok 1 - test passes: data is valid: true 624s 1..1 624s } 624s ok 1060 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1061 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1062 - optional/format-time.json: "validation of time strings" - "no time offset" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s ok 1063 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" { 624s # result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s # short-circuited result: { 624s # "errors": [ 624s # { 624s # "error": "not a valid time", 624s # "instanceLocation": "", 624s # "keywordLocation": "/format" 624s # } 624s # ], 624s # "valid": false 624s # } 624s ok 1 - test passes: data is valid: false 624s 1..1 624s } 624s # 624s # 624s # Results using Test::JSON::Schema::Acceptance 1.021 624s # specification version: draft2020-12 624s # using custom test directory: t/additional-tests-draft2020-12 624s # optional tests included: yes 624s # 624s # filename pass todo-fail fail 624s # --------------------------------------------------------------- 624s # anchor.json 2 0 0 624s # annotation-collection.json 10 0 0 624s # badRef.json 3 0 0 624s # dynamicRef.json 7 0 0 624s # faux-buggy-schemas.json 2 0 0 624s # format-duration.json 9 0 0 624s # format-ipv4.json 4 0 0 624s # format-ipv6.json 17 0 0 624s # format-relative-json-pointer.json 7 0 0 624s # formats.json 4 0 0 624s # id.json 6 0 0 624s # integers.json 29 0 0 624s # keyword-independence.json 884 0 0 624s # loose-types-const-enum.json 8 0 0 624s # recursive-dynamic.json 2 0 0 624s # ref-and-id.json 6 0 0 624s # ref.json 10 0 0 624s # short-circuit.json 20 0 0 624s # unknownKeyword.json 4 0 0 624s # vocabulary.json 11 0 0 624s # optional/format-date-time.json 4 0 0 624s # optional/format-date.json 1 0 0 624s # optional/format-time.json 13 0 0 624s # --------------------------------------------------------------- 624s # TOTAL 1063 0 0 624s # 624s # Congratulations, all non-optional tests are passing! 624s # 624s ok 1064 - no leaks in the main evaluator object 624s ok 1065 - no leaks in the short-circuiting evaluator object 624s ok 1066 - got unsupported keyword warnings 624s 1..1066 624s ok 639s t/additional-tests-draft7.t ............. 639s # AUTHOR_TESTING: 639s # AUTOMATED_TESTING: 1 639s # EXTENDED_TESTING: 639s # NO_TODO: 639s # TEST_DIR: 639s # NO_SHORT_CIRCUIT: 639s # 639s # running tests in /tmp/autopkgtest.BzCoE7/autopkgtest_tmp/smokeusECz7/t/additional-tests-draft7 against draft7... 639s # 639s ok 1 - badRef.json: "good references in schemas" - "this data is never used" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 2 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$ref value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/then/$ref" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$ref value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/then/$ref" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 3 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$ref value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/then/$ref" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$ref value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/then/$ref" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 4 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 5 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 639s # "error": "got string, not integer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf/0/type" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 639s # "error": "got string, not integer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf/1/type" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf/2/const" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf/3/enum" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 639s # "error": "no subschemas are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 639s # "error": "got string, not integer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf/0/type" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 639s # "error": "got string, not integer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf/1/type" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf/2/const" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf/3/enum" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 639s # "error": "no subschemas are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/anyOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 6 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid ipv4", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid ipv4", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 7 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid ipv4", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid ipv4", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 8 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 9 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid ipv4", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid ipv4", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 10 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 11 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 12 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 13 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 14 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid relative-json-pointer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid relative-json-pointer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 15 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid relative-json-pointer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid relative-json-pointer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 16 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid relative-json-pointer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid relative-json-pointer", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 17 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 18 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else/$ref/const" 639s # }, 639s # { 639s # "error": "subschema is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else/$ref/const" 639s # }, 639s # { 639s # "error": "subschema is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 19 - id.json: "non-schema object containing an anchor property" - "skip traversing definition for a valid result" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 20 - id.json: "non-schema object containing an anchor property" - "const at const_not_anchor does not match" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else/$ref/const" 639s # }, 639s # { 639s # "error": "subschema is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else/$ref/const" 639s # }, 639s # { 639s # "error": "subschema is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 21 - id.json: "'' not permitted as $id" - "schema would pass without $id" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$id cannot be empty", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$id cannot be empty", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 22 - id.json: "'' not permitted as $id" - "schema would fail even without $id" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$id cannot be empty", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$id cannot be empty", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 23 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$id cannot be empty", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$id cannot be empty", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 24 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$id cannot be empty", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$id cannot be empty", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 25 - id.json: "bad anchor syntax" - "draft7 $id passes through to $anchor" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$id value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$id value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/$id" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 26 - integers.json: "type checks" - "beyond int64 lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 27 - integers.json: "type checks" - "int64 lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 28 - integers.json: "type checks" - "beyond int32 lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 29 - integers.json: "type checks" - "int32 lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 30 - integers.json: "type checks" - "zero" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 31 - integers.json: "type checks" - "int32 upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 32 - integers.json: "type checks" - "beyond int32 upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 33 - integers.json: "type checks" - "upper int64 boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 34 - integers.json: "type checks" - "beyond int64 upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 35 - integers.json: "int32 range checks" - "beyond lower boundary" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than -2147483648", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than -2147483648", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 36 - integers.json: "int32 range checks" - "lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 37 - integers.json: "int32 range checks" - "zero" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 38 - integers.json: "int32 range checks" - "upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 39 - integers.json: "int32 range checks" - "beyond upper boundary" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2147483647", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2147483647", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 40 - integers.json: "int64 range checks" - "beyond lower boundary" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than -9223372036854775808", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than -9223372036854775808", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 41 - integers.json: "int64 range checks" - "lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 42 - integers.json: "int64 range checks" - "zero" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 43 - integers.json: "int64 range checks" - "upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 44 - integers.json: "int64 range checks" - "beyond upper boundary" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 9223372036854775807", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 9223372036854775807", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 45 - integers.json: "equality checks" - "beyond int64 lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 46 - integers.json: "equality checks" - "int64 lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 47 - integers.json: "equality checks" - "beyond int32 lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 48 - integers.json: "equality checks" - "int32 lower boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 49 - integers.json: "equality checks" - "zero" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 50 - integers.json: "equality checks" - "one" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/enum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/enum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 51 - integers.json: "equality checks" - "int32 upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 52 - integers.json: "equality checks" - "beyond int32 upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 53 - integers.json: "equality checks" - "int64 upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 54 - integers.json: "equality checks" - "beyond int64 upper boundary" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s # 639s ok 55 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 56 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 57 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 58 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 59 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 60 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 61 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 62 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 63 - keyword-independence.json: "contains + maximum" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 64 - keyword-independence.json: "contains + maximum" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 65 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 66 - keyword-independence.json: "contains + maximum" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 67 - keyword-independence.json: "contains + minimum" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 68 - keyword-independence.json: "contains + minimum" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 69 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 70 - keyword-independence.json: "contains + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 71 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 72 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 73 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 74 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 75 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 76 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 77 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 78 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 79 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 80 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 81 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 82 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 83 - keyword-independence.json: "items + maximum" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 84 - keyword-independence.json: "items + maximum" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 85 - keyword-independence.json: "items + maximum" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 86 - keyword-independence.json: "items + maximum" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 87 - keyword-independence.json: "items + minimum" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 88 - keyword-independence.json: "items + minimum" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 89 - keyword-independence.json: "items + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 90 - keyword-independence.json: "items + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 91 - keyword-independence.json: "items + multipleOf" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 92 - keyword-independence.json: "items + multipleOf" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 93 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 94 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 95 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 96 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 97 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 98 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 99 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 100 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 101 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 102 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 103 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 104 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 105 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 106 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 107 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 108 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 109 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 110 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 111 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 112 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 113 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 114 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 115 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 116 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 117 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 118 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 119 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 120 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 121 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 122 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 123 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 124 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 125 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 126 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 127 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 128 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 129 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 130 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 131 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 132 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 133 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 134 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 135 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 136 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 137 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 138 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 139 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 140 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 141 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 142 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 143 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 144 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 145 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 146 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 147 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 148 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 149 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 150 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 151 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 152 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 153 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 154 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 155 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 156 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 157 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 158 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 159 - keyword-independence.json: "contains + dependencies" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 160 - keyword-independence.json: "contains + dependencies" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 161 - keyword-independence.json: "contains + dependencies" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 162 - keyword-independence.json: "contains + dependencies" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 163 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 164 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 165 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 166 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 167 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 168 - keyword-independence.json: "contains + minProperties" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 169 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 170 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 171 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 172 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 173 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 174 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 175 - keyword-independence.json: "contains + properties" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 176 - keyword-independence.json: "contains + properties" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 177 - keyword-independence.json: "contains + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 178 - keyword-independence.json: "contains + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 179 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 180 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 181 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 182 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 183 - keyword-independence.json: "contains + required" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 184 - keyword-independence.json: "contains + required" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 185 - keyword-independence.json: "contains + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 186 - keyword-independence.json: "contains + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 187 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 188 - keyword-independence.json: "additionalProperties + items" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 189 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 190 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 191 - keyword-independence.json: "dependencies + items" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 192 - keyword-independence.json: "dependencies + items" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 193 - keyword-independence.json: "dependencies + items" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 194 - keyword-independence.json: "dependencies + items" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 195 - keyword-independence.json: "items + maxProperties" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 196 - keyword-independence.json: "items + maxProperties" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 197 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 198 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 199 - keyword-independence.json: "items + minProperties" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 200 - keyword-independence.json: "items + minProperties" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 201 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 202 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 203 - keyword-independence.json: "items + patternProperties" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 204 - keyword-independence.json: "items + patternProperties" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 205 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 206 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 207 - keyword-independence.json: "items + properties" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 208 - keyword-independence.json: "items + properties" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 209 - keyword-independence.json: "items + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 210 - keyword-independence.json: "items + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 211 - keyword-independence.json: "items + propertyNames" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 212 - keyword-independence.json: "items + propertyNames" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 213 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 214 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 215 - keyword-independence.json: "items + required" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 216 - keyword-independence.json: "items + required" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 217 - keyword-independence.json: "items + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 218 - keyword-independence.json: "items + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 219 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 220 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 221 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 222 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 223 - keyword-independence.json: "dependencies + maxItems" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 224 - keyword-independence.json: "dependencies + maxItems" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 225 - keyword-independence.json: "dependencies + maxItems" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 226 - keyword-independence.json: "dependencies + maxItems" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 227 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 228 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 229 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 230 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 231 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 232 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 233 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 234 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 235 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 236 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 237 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 238 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 239 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 240 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 241 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 242 - keyword-independence.json: "maxItems + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 243 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 244 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 245 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 246 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 247 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 248 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 249 - keyword-independence.json: "maxItems + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 250 - keyword-independence.json: "maxItems + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 251 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 252 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 253 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 254 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 255 - keyword-independence.json: "dependencies + minItems" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 256 - keyword-independence.json: "dependencies + minItems" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 257 - keyword-independence.json: "dependencies + minItems" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 258 - keyword-independence.json: "dependencies + minItems" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 259 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 260 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 261 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 262 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 263 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 264 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 265 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 266 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 267 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 268 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 269 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 270 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 271 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 272 - keyword-independence.json: "minItems + properties" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 273 - keyword-independence.json: "minItems + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 274 - keyword-independence.json: "minItems + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 275 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 276 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 277 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 278 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 279 - keyword-independence.json: "minItems + required" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 280 - keyword-independence.json: "minItems + required" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 281 - keyword-independence.json: "minItems + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 282 - keyword-independence.json: "minItems + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 283 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 284 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 285 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 286 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 287 - keyword-independence.json: "dependencies + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 288 - keyword-independence.json: "dependencies + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 289 - keyword-independence.json: "dependencies + uniqueItems" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 290 - keyword-independence.json: "dependencies + uniqueItems" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 291 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 292 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 293 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 294 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 295 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 296 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 297 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 298 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 299 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 300 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 301 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 302 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 303 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 304 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 305 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 306 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 307 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 308 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 309 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 310 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 311 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 312 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 313 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 314 - keyword-independence.json: "required + uniqueItems" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 315 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 316 - keyword-independence.json: "contains + maxLength" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 317 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 318 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 319 - keyword-independence.json: "contains + minLength" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 320 - keyword-independence.json: "contains + minLength" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 321 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 322 - keyword-independence.json: "contains + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 323 - keyword-independence.json: "contains + pattern" - "array, contains invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is not valid against any item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/contains" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 324 - keyword-independence.json: "contains + pattern" - "array, contains valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 325 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 326 - keyword-independence.json: "contains + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 327 - keyword-independence.json: "items + maxLength" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 328 - keyword-independence.json: "items + maxLength" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 329 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 330 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 331 - keyword-independence.json: "items + minLength" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 332 - keyword-independence.json: "items + minLength" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 333 - keyword-independence.json: "items + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 334 - keyword-independence.json: "items + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 335 - keyword-independence.json: "items + pattern" - "array, items invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "item not permitted", 639s # "instanceLocation": "/0", 639s # "keywordLocation": "/items/0" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 336 - keyword-independence.json: "items + pattern" - "array, items valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 337 - keyword-independence.json: "items + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 338 - keyword-independence.json: "items + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 339 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 340 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 341 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 342 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 343 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 344 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 345 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 346 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 347 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has more than 1 item", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 348 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 349 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 350 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 351 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 352 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 353 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 354 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 355 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 356 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 357 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 358 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 359 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "array has fewer than 2 items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 360 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 361 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 362 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 363 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 364 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 365 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 366 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 367 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 368 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 369 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 370 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 371 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "items at indices 0 and 1 are not unique", 639s # "instanceLocation": "", 639s # "keywordLocation": "/uniqueItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 372 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 373 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 374 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 375 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 376 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 377 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 378 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 379 - keyword-independence.json: "dependencies + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 380 - keyword-independence.json: "dependencies + exclusiveMaximum" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 381 - keyword-independence.json: "dependencies + exclusiveMaximum" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 382 - keyword-independence.json: "dependencies + exclusiveMaximum" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 383 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 384 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 385 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 386 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 387 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 388 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 389 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 390 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 391 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 392 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 393 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 394 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 395 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 396 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 397 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 398 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 399 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 400 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 401 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 402 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 403 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 404 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 405 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 406 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 407 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 408 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 409 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 410 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 411 - keyword-independence.json: "dependencies + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 412 - keyword-independence.json: "dependencies + exclusiveMinimum" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 413 - keyword-independence.json: "dependencies + exclusiveMinimum" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 414 - keyword-independence.json: "dependencies + exclusiveMinimum" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 415 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 416 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 417 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 418 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 419 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 420 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 421 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 422 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 423 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 424 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 425 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 426 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 427 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 428 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 429 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 430 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 431 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 432 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 433 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 434 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 435 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 436 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 437 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 438 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 439 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 440 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 441 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 442 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 443 - keyword-independence.json: "dependencies + maximum" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 444 - keyword-independence.json: "dependencies + maximum" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 445 - keyword-independence.json: "dependencies + maximum" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 446 - keyword-independence.json: "dependencies + maximum" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 447 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 448 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 449 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 450 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 451 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 452 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 453 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 454 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 455 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 456 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 457 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 458 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 459 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 460 - keyword-independence.json: "maximum + properties" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 461 - keyword-independence.json: "maximum + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 462 - keyword-independence.json: "maximum + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 463 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 464 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 465 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 466 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 467 - keyword-independence.json: "maximum + required" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 468 - keyword-independence.json: "maximum + required" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 469 - keyword-independence.json: "maximum + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 470 - keyword-independence.json: "maximum + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 471 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 472 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 473 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 474 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 475 - keyword-independence.json: "dependencies + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 476 - keyword-independence.json: "dependencies + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 477 - keyword-independence.json: "dependencies + minimum" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 478 - keyword-independence.json: "dependencies + minimum" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 479 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 480 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 481 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 482 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 483 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 484 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 485 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 486 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 487 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 488 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 489 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 490 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 491 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 492 - keyword-independence.json: "minimum + properties" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 493 - keyword-independence.json: "minimum + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 494 - keyword-independence.json: "minimum + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 495 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 496 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 497 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 498 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 499 - keyword-independence.json: "minimum + required" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 500 - keyword-independence.json: "minimum + required" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 501 - keyword-independence.json: "minimum + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 502 - keyword-independence.json: "minimum + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 503 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 504 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 505 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 506 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 507 - keyword-independence.json: "dependencies + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 508 - keyword-independence.json: "dependencies + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 509 - keyword-independence.json: "dependencies + multipleOf" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 510 - keyword-independence.json: "dependencies + multipleOf" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 511 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 512 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 513 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 514 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 515 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 516 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 517 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 518 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 519 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 520 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 521 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 522 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 523 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 524 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 525 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 526 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 527 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 528 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 529 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 530 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 531 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 532 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 533 - keyword-independence.json: "multipleOf + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 534 - keyword-independence.json: "multipleOf + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 535 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 536 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 537 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 538 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 539 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 540 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 541 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 542 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 543 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMaximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 544 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 545 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 546 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 547 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 548 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 549 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 550 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 551 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 552 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 553 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 554 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 555 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is equal to or smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/exclusiveMinimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 556 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 557 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 558 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 559 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 560 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 561 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 562 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 563 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 564 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 565 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 566 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 567 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is larger than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maximum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 568 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 569 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 570 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 571 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 572 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 573 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 574 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 575 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 576 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 577 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 578 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 579 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is smaller than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minimum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 580 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 581 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 582 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 583 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 584 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 585 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 586 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 587 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 588 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 589 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 590 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 591 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/multipleOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 592 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 593 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 594 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 595 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 596 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 597 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 598 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 599 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 600 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 601 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 602 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 603 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 604 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 605 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 606 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 607 - keyword-independence.json: "dependencies + maxLength" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 608 - keyword-independence.json: "dependencies + maxLength" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 609 - keyword-independence.json: "dependencies + maxLength" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 610 - keyword-independence.json: "dependencies + maxLength" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 611 - keyword-independence.json: "dependencies + minLength" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 612 - keyword-independence.json: "dependencies + minLength" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 613 - keyword-independence.json: "dependencies + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 614 - keyword-independence.json: "dependencies + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 615 - keyword-independence.json: "dependencies + pattern" - "object, dependencies invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies/x" 639s # }, 639s # { 639s # "error": "not all dependencies are satisfied", 639s # "instanceLocation": "", 639s # "keywordLocation": "/dependencies" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 616 - keyword-independence.json: "dependencies + pattern" - "object, dependencies valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 617 - keyword-independence.json: "dependencies + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 618 - keyword-independence.json: "dependencies + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 619 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 620 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 621 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 622 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 623 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 624 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 625 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 626 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 627 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has more than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 628 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 629 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 630 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 631 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 632 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 633 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 634 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 635 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 636 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 637 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 638 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 639 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object has fewer than 1 property", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 640 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 641 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 642 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 643 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 644 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 645 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 646 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 647 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 648 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 649 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 650 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 651 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/no", 639s # "keywordLocation": "/patternProperties/no" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 652 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 653 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 654 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 655 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 656 - keyword-independence.json: "maxLength + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 657 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 658 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 659 - keyword-independence.json: "minLength + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 660 - keyword-independence.json: "minLength + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 661 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 662 - keyword-independence.json: "minLength + properties" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 663 - keyword-independence.json: "pattern + properties" - "object, properties invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/properties/x" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 664 - keyword-independence.json: "pattern + properties" - "object, properties valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 665 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 666 - keyword-independence.json: "pattern + properties" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 667 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 668 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 669 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 670 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 671 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 672 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 673 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 674 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 675 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "subschema is false", 639s # "instanceLocation": "/x", 639s # "keywordLocation": "/propertyNames" 639s # }, 639s # { 639s # "error": "not all property names are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/propertyNames" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 676 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 677 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 678 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 679 - keyword-independence.json: "maxLength + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 680 - keyword-independence.json: "maxLength + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 681 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is greater than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/maxLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 682 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 683 - keyword-independence.json: "minLength + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 684 - keyword-independence.json: "minLength + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 685 - keyword-independence.json: "minLength + required" - "string, minLength invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "length is less than 2", 639s # "instanceLocation": "", 639s # "keywordLocation": "/minLength" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 686 - keyword-independence.json: "minLength + required" - "string, minLength valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 687 - keyword-independence.json: "pattern + required" - "object, required invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "object is missing property: x", 639s # "instanceLocation": "", 639s # "keywordLocation": "/required" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 688 - keyword-independence.json: "pattern + required" - "object, required valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 689 - keyword-independence.json: "pattern + required" - "string, pattern invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "pattern does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/pattern" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 690 - keyword-independence.json: "pattern + required" - "string, pattern valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s # 639s ok 691 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "/const_string", 639s # "keywordLocation": "/properties/const_string/const" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "/const_string", 639s # "keywordLocation": "/properties/const_string/const" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 692 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 693 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 694 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "/const_number", 639s # "keywordLocation": "/properties/const_number/const" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "/const_number", 639s # "keywordLocation": "/properties/const_number/const" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 695 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "/enum_string", 639s # "keywordLocation": "/properties/enum_string/enum" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "/enum_string", 639s # "keywordLocation": "/properties/enum_string/enum" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 696 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 697 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 698 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "/enum_number", 639s # "keywordLocation": "/properties/enum_number/enum" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "/enum_number", 639s # "keywordLocation": "/properties/enum_number/enum" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 699 - not-an-anchor.json: "object that is not a schema containing an $anchor property" - "skip traversing definition for a valid result" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 700 - not-an-anchor.json: "object that is not a schema containing an $anchor property" - "const at const_not_anchor does not match" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else/$ref/const" 639s # }, 639s # { 639s # "error": "subschema is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else/$ref/const" 639s # }, 639s # { 639s # "error": "subschema is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 701 - not-an-id.json: "object that is not a schema containing an $id property" - "skip traversing definition for a valid result" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 702 - not-an-id.json: "object that is not a schema containing an $id property" - "const at const_not_id does not match" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else/$ref/const" 639s # }, 639s # { 639s # "error": "subschema is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else/$ref/const" 639s # }, 639s # { 639s # "error": "subschema is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/else" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 703 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination" - "data is valid against first definition" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 704 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination" - "data is invalid against first definition" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 639s # "error": "value is larger than 10", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf/0/$ref/maximum" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "/ref-and-id2/base.json#/allOf", 639s # "error": "subschema 0 is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 639s # "error": "value is larger than 10", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf/0/$ref/maximum" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "/ref-and-id2/base.json#/allOf", 639s # "error": "subschema 0 is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 705 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 706 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 639s # "error": "value is larger than 10", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf/0/$ref/maximum" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "/ref1/base.json#/allOf", 639s # "error": "subschema 0 is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 639s # "error": "value is larger than 10", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf/0/$ref/maximum" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "/ref1/base.json#/allOf", 639s # "error": "subschema 0 is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 707 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 708 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "/ref2/base.json#/definitions/bigint/maximum", 639s # "error": "value is larger than 10", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf/0/$ref/maximum" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "/ref2/base.json#/allOf", 639s # "error": "subschema 0 is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "/ref2/base.json#/definitions/bigint/maximum", 639s # "error": "value is larger than 10", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf/0/$ref/maximum" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "/ref2/base.json#/allOf", 639s # "error": "subschema 0 is not valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/allOf" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 709 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/enum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value does not match", 639s # "instanceLocation": "", 639s # "keywordLocation": "/enum" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 710 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 711 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$ref value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/definitions/foo/$ref" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$ref value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/definitions/foo/$ref" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 712 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "$ref value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/definitions/foo/$ref" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "$ref value is not a valid URI reference", 639s # "instanceLocation": "", 639s # "keywordLocation": "/definitions/foo/$ref" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 713 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 714 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 639s # "error": "got string, not integer", 639s # "instanceLocation": "/list/0", 639s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items", 639s # "error": "subschema is not valid against all items", 639s # "instanceLocation": "/list", 639s # "keywordLocation": "/properties/list/$ref/items" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 639s # "error": "got string, not integer", 639s # "instanceLocation": "/list/0", 639s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items", 639s # "error": "subschema is not valid against all items", 639s # "instanceLocation": "/list", 639s # "keywordLocation": "/properties/list/$ref/items" 639s # }, 639s # { 639s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 715 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 716 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/1", 639s # "keywordLocation": "/items/multipleOf" 639s # }, 639s # { 639s # "error": "subschema is not valid against all items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/1", 639s # "keywordLocation": "/items/multipleOf" 639s # }, 639s # { 639s # "error": "subschema is not valid against all items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 717 - short-circuit.json: "items (array form) does not improperly short-circuit" - "single item is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 718 - short-circuit.json: "items (array form) does not improperly short-circuit" - "second item is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/1", 639s # "keywordLocation": "/items/1/multipleOf" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/1", 639s # "keywordLocation": "/items/1/multipleOf" 639s # }, 639s # { 639s # "error": "not all items are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/items" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 719 - short-circuit.json: "additionalItems does not improperly short-circuit" - "single additional item is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 720 - short-circuit.json: "additionalItems does not improperly short-circuit" - "second additional item is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/2", 639s # "keywordLocation": "/additionalItems/multipleOf" 639s # }, 639s # { 639s # "error": "subschema is not valid against all additional items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/2", 639s # "keywordLocation": "/additionalItems/multipleOf" 639s # }, 639s # { 639s # "error": "subschema is not valid against all additional items", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalItems" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 721 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 722 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/properties/beta/multipleOf" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/properties/beta/multipleOf" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 723 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 724 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/properties/beta" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/properties/beta" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/properties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 725 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 726 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/patternProperties/^b/multipleOf" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/patternProperties/^b/multipleOf" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 727 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 728 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/patternProperties/^b" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "property not permitted", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/patternProperties/^b" 639s # }, 639s # { 639s # "error": "not all properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/patternProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 729 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 730 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/additionalProperties/multipleOf" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "value is not a multiple of 2", 639s # "instanceLocation": "/beta", 639s # "keywordLocation": "/additionalProperties/multipleOf" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 731 - unknownKeyword.json: "past and future keywords are ignored" - "passing" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 732 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "got string, not number", 639s # "instanceLocation": "", 639s # "keywordLocation": "/type" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "got string, not number", 639s # "instanceLocation": "", 639s # "keywordLocation": "/type" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 733 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "got object, not number", 639s # "instanceLocation": "", 639s # "keywordLocation": "/type" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "got object, not number", 639s # "instanceLocation": "", 639s # "keywordLocation": "/type" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 734 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "got array, not number", 639s # "instanceLocation": "", 639s # "keywordLocation": "/type" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "got array, not number", 639s # "instanceLocation": "", 639s # "keywordLocation": "/type" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 735 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "match" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 736 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive match" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 737 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "mismatch" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/bar", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "additional property not permitted", 639s # "instanceLocation": "/bar", 639s # "keywordLocation": "/additionalProperties" 639s # }, 639s # { 639s # "error": "not all additional properties are valid", 639s # "instanceLocation": "", 639s # "keywordLocation": "/additionalProperties" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 738 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive mismatch (but $dynamicRef is ignored)" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s # 639s ok 739 - vocabulary.json: "valid $vocabulary: everything is valid" - "a valid $vocabulary value" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 740 - vocabulary.json: "wrong specification version: but this is draft7" - "invalid $vocabulary value: wrong specification version" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 741 - vocabulary.json: "but this is draft7" - "invalid $vocabulary value: unknown URI" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s # 639s ok 742 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 743 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 744 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid date-time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid date-time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 745 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid date-time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid date-time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 746 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid date", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid date", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s ok 747 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 748 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 749 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 750 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 751 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 752 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 753 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 754 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 755 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 639s # result: { 639s # "valid": true 639s # } 639s # short-circuited result: { 639s # "valid": true 639s # } 639s ok 1 - test passes: data is valid: true 639s 1..1 639s } 639s ok 756 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 757 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 758 - optional/format-time.json: "validation of time strings" - "no time offset" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s ok 759 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" { 639s # result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s # short-circuited result: { 639s # "errors": [ 639s # { 639s # "error": "not a valid time", 639s # "instanceLocation": "", 639s # "keywordLocation": "/format" 639s # } 639s # ], 639s # "valid": false 639s # } 639s ok 1 - test passes: data is valid: false 639s 1..1 639s } 639s # 639s # 639s # Results using Test::JSON::Schema::Acceptance 1.021 639s # specification version: draft7 639s # using custom test directory: t/additional-tests-draft7 639s # optional tests included: yes 639s # 639s # filename pass todo-fail fail 639s # --------------------------------------------------------------- 639s # badRef.json 3 0 0 639s # faux-buggy-schemas.json 2 0 0 639s # format-ipv4.json 4 0 0 639s # format-relative-json-pointer.json 7 0 0 639s # id.json 9 0 0 639s # integers.json 29 0 0 639s # keyword-independence.json 636 0 0 639s # loose-types-const-enum.json 8 0 0 639s # not-an-anchor.json 2 0 0 639s # not-an-id.json 2 0 0 639s # ref-and-id.json 2 0 0 639s # ref.json 10 0 0 639s # short-circuit.json 16 0 0 639s # unknownKeyword.json 8 0 0 639s # vocabulary.json 3 0 0 639s # optional/format-date-time.json 4 0 0 639s # optional/format-date.json 1 0 0 639s # optional/format-time.json 13 0 0 639s # --------------------------------------------------------------- 639s # TOTAL 759 0 0 639s # 639s # Congratulations, all non-optional tests are passing! 639s # 639s ok 760 - no leaks in the main evaluator object 639s ok 761 - no leaks in the short-circuiting evaluator object 639s ok 762 - got unsupported keyword warnings 639s 1..762 639s ok 643s t/annotations.t ......................... 643s # Subtest: allOf 643s ok 1 - evaluation of the allOf keyword fails 643s ok 2 - failing allOf: state is correct after evaluating 643s ok 3 - evaluation of the allOf keyword succeeds 643s ok 4 - passing allOf: state is correct after evaluating 643s ok 5 - annotation collection can be turned off in evaluate() 643s ok 6 - ...but the value is still true on the object 643s ok 7 - collect_annotations defaults to false 643s ok 8 - annotation collection can be turned on in evaluate() also 643s 1..8 643s ok 1 - allOf 643s # Subtest: oneOf 643s ok 1 - evaluation of the oneOf keyword fails 643s ok 2 - failing oneOf: state is correct after evaluating 643s ok 3 - evaluation of the oneOf keyword succeeds 643s ok 4 - passing oneOf: state is correct after evaluating 643s 1..4 643s ok 2 - oneOf 643s # Subtest: not 643s ok 1 - evaluation of the not keyword fails 643s ok 2 - failing not: state is correct after evaluating 643s ok 3 - evaluation of the not keyword fails 643s ok 4 - failing not: state is correct after evaluating (annotations will be ultimately discarded) 643s ok 5 - evaluation of the not keyword succeeds 643s ok 6 - passing not: state is correct after evaluating 643s ok 7 - annotations are still collected inside a "not", otherwise the unevaluatedProperties would have returned false 643s 1..7 643s ok 3 - not 643s # Subtest: prefixItems 643s ok 1 - no items means that "prefixItems" succeeds 643s ok 2 - no items: no annotation is produced by prefixItems 643s ok 3 - one item 643s ok 4 - passing prefixItems: one item is annotated 643s ok 5 - two items, one failing 643s ok 6 - failing prefixItems still collects annotations 643s 1..6 643s ok 4 - prefixItems 643s # Subtest: schema-items 643s ok 1 - no items means that "items" succeeds 643s ok 2 - no items: no annotation is produced by items 643s ok 3 - one item 643s ok 4 - passing items: one item is annotated 643s ok 5 - two items, one failing 643s ok 6 - failing items still collects annotations 643s 1..6 643s ok 5 - schema-items 643s # Subtest: additionalItems 643s ok 1 - no items means that "additionalItems" succeeds 643s ok 2 - no items: no annotation is produced by additionaltems 643s ok 3 - one item 643s ok 4 - additionalItems does nothing without items 643s 1..4 643s ok 6 - additionalItems 643s # Subtest: properties 643s ok 1 - no items means that "properties" succeeds 643s ok 2 - no properties: annotation is still produced by properties 643s ok 3 - one property 643s ok 4 - passing properties: one property is annotated 643s ok 5 - two properties, one failing 643s ok 6 - failing properties still collects annotations 643s 1..6 643s ok 7 - properties 643s # Subtest: patternProperties 643s ok 1 - no items means that "patternProperties" succeeds 643s ok 2 - no pProperties: annotation is still produced by patternProperties 643s ok 3 - one property 643s ok 4 - passing properties: one property is annotated 643s ok 5 - two properties, one failing 643s ok 6 - failing patternProperties still collects annotations 643s 1..6 643s ok 8 - patternProperties 643s # Subtest: additionalProperties 643s ok 1 - no items means that "additionalProperties" succeeds 643s ok 2 - no properties: no annotation is produced by additionalProperties 643s ok 3 - one property 643s ok 4 - passing additionalProperties: one property is annotated 643s ok 5 - two properties, one failing 643s ok 6 - failing properties still collects annotations 643s 1..6 643s ok 9 - additionalProperties 643s # Subtest: unevaluatedProperties 643s ok 1 - no items means that "unevaluatedProperties" succeeds 643s ok 2 - no properties: no annotation is produced by unevaluatedProperties 643s ok 3 - one property 643s ok 4 - passing unevaluatedProperties: one property is annotated 643s ok 5 - two properties, one failing 643s ok 6 - failing unevaluatedProperties still collects annotations 643s 1..6 643s ok 10 - unevaluatedProperties 643s # Subtest: collect_annotations and unevaluated keywords 643s ok 1 - when "collect_annotations" is explicitly set to false, unevaluatedItems can still be used (valid result, no annotations in result) 643s ok 2 - when "collect_annotations" is explicitly set to false, unevaluatedItems can still be used (invalid result) 643s ok 3 - when "collect_annotations" is explicitly set to false, unevaluatedProperties can still be used (valid result, no annotations) 643s ok 4 - when "collect_annotations" is explicitly set to false, unevaluatedProperties can still be used (invalid result) 643s ok 5 - when "collect_annotations" is explicitly set to false, unevaluatedProperties still be used, even in other documents (valid result) 643s ok 6 - when "collect_annotations" is explicitly set to false, unevaluatedProperties still be used, even in other documents (invalid result) 643s ok 7 - when "collect_annotations" is set to true, unevaluatedItems works, and annotations are returned 643s ok 8 - when "collect_annotations" is set to true, unevaluatedProperties passes, and annotations are returned 643s ok 9 - when "collect_annotations" is not set, unevaluatedItems still works, but annotations are not returned 643s ok 10 - when "collect_annotations" is not set, unevaluatedProperties still works, but annotations are not returned 643s ok 11 - ... still works when unevaluated keywords are in a separate document 643s ok 12 - items.json does not need collect_annotations => 1 to evaluate itself 643s ok 13 - properties.json does not need collect_annotations => 1 to evaluate itself 643s ok 14 - referenced schemas still produce annotations internally when needed, even when not required to evaluate themselves in isolation 643s 1..14 643s ok 11 - collect_annotations and unevaluated keywords 643s # Subtest: annotate unknown keywords 643s ok 1 - no annotations even when collect_annotations is false 643s ok 2 - unknown keywords are collected as annotations 643s ok 3 - "unknown" keyword is set on the annotation objects for unknown keywords 643s ok 4 - no annotations from unknown keywords in draft2019-09 643s 1..4 643s ok 12 - annotate unknown keywords 643s # Subtest: items + additionalItems, prefixItems + items 643s ok 1 - schema-based items + additionalItems 643s ok 2 - prefixItems + schema-based items 643s 1..2 643s ok 13 - items + additionalItems, prefixItems + items 643s 1..13 643s ok 645s t/boolean-data.t ........................ 645s # Subtest: strict booleans (default) 645s ok 1 - in data, bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ) is a boolean 645s ok 2 - in data, bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) is a boolean 645s ok 3 - correct error generated from type for undef 645s ok 4 - correct error generated from type for 0 645s ok 5 - correct error generated from type for 1 645s ok 6 - correct error generated from type for '0' 645s ok 7 - correct error generated from type for '1' 645s ok 8 - correct error generated from type for 'false' 645s ok 9 - correct error generated from type for 'true' 645s ok 10 - correct error generated from type for \0 645s ok 11 - correct error generated from type for \1 645s ok 12 - in data, undef not is a boolean 645s ok 13 - in data, 0 not is a boolean 645s ok 14 - in data, 1 not is a boolean 645s ok 15 - in data, '0' not is a boolean 645s ok 16 - in data, '1' not is a boolean 645s ok 17 - in data, 'false' not is a boolean 645s ok 18 - in data, 'true' not is a boolean 645s ok 19 - in data, \0 not is a boolean 645s ok 20 - in data, \1 not is a boolean 645s 1..20 645s ok 1 - strict booleans (default) 645s # Subtest: scalarref_booleans = 1 645s ok 1 - in data, bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ) is a boolean 645s ok 2 - in data, bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) is a boolean 645s ok 3 - in data, \0 is a boolean 645s ok 4 - in data, \1 is a boolean 645s ok 5 - correct error generated from type for ['null',undef] 645s ok 6 - correct error generated from type for ['integer',0] 645s ok 7 - correct error generated from type for ['integer',1] 645s ok 8 - correct error generated from type for ['string','0'] 645s ok 9 - correct error generated from type for ['string','1'] 645s ok 10 - correct error generated from type for ['string','false'] 645s ok 11 - correct error generated from type for ['string','true'] 645s ok 12 - items are all considered unique when types differ, even when perl treats them similarly 645s ok 13 - scalarrefs compare as identical to their counterpart booleans 645s ok 14 - scalarrefs compare as identical to their counterpart booleans 645s ok 15 - scalarrefs compare as identical to their counterpart booleans 645s ok 16 - scalarrefs compare as identical to their counterpart booleans 645s 1..16 645s ok 2 - scalarref_booleans = 1 645s 1..2 645s ok 647s t/boolean-schemas.t ..................... 647s ok 1 - schema: false evaluates to: false 647s ok 2 - invalid result structure looks correct 647s ok 3 - no exceptions in evaluate 647s ok 4 - schema: true evaluates to: true 647s ok 5 - invalid result structure looks correct 647s ok 6 - no exceptions in evaluate 647s ok 7 - schema: {} evaluates to: true 647s ok 8 - invalid result structure looks correct 647s ok 9 - no exceptions in evaluate 647s ok 10 - schema: 0 evaluates to: false 647s ok 11 - invalid result structure looks correct 647s ok 12 - no exceptions in evaluate 647s ok 13 - schema: 1 evaluates to: false 647s ok 14 - invalid result structure looks correct 647s ok 15 - no exceptions in evaluate 647s ok 16 - schema: false evaluates to: false 647s ok 17 - invalid result structure looks correct 647s ok 18 - no exceptions in evaluate 647s ok 19 - schema: true evaluates to: false 647s ok 20 - invalid result structure looks correct 647s ok 21 - no exceptions in evaluate 647s ok 22 - invalid schema type results in error 647s ok 23 - scalarref for schema results in error, even when scalarref_booleans is true 647s 1..23 647s ok 649s t/cached-metaschemas.t .................. 649s # Subtest: load cached metaschema 649s ok 1 - this resource is not yet known 649s ok 2 - loaded metaschema from sharedir cache 649s ok 3 - this resource is now in the resource index 649s 1..3 649s ok 1 - load cached metaschema 649s # Subtest: resource collision with cached metaschema 649s ok 1 - cannot introduce another schema whose id collides with a cached schema, even if it isn't loaded yet 649s 1..1 649s ok 2 - resource collision with cached metaschema 649s 1..2 649s ok 651s t/callbacks.t ........................... 651s # Subtest: evaluation callbacks 651s ok 1 - evaluation was successful 651s ok 2 - identified all data paths where a $ref was used 651s ok 3 - evaluation was not successful 651s ok 4 - no callbacks on failure: innermost $ref failed, so all other $refs failed too 651s ok 5 - evaluation was successful 651s ok 6 - successful subschemas have callbacks called, but not failed subschemas 651s 1..6 651s ok 1 - evaluation callbacks 651s # Subtest: callbacks for keywords without eval subs 651s ok 1 - evaluation was successful 651s ok 2 - callbacks are triggered for keywords even when they lack evaluation subs 651s 1..2 651s ok 2 - callbacks for keywords without eval subs 651s # Subtest: callbacks that produce errors 651s ok 1 - result object contains the callback error, and the other errors 651s ok 2 - result object contains the callback error, and short-circuits execution 651s 1..2 651s ok 3 - callbacks that produce errors 651s 1..3 651s ok 653s t/content-encoding.t .................... 653s # Subtest: unrecognized encoding formats do not result in errors, when not asserting 653s ok 1 - in evaluate(), annotations are collected and no validation is performed 653s 1..1 653s ok 1 - unrecognized encoding formats do not result in errors, when not asserting 653s # Subtest: media_type and encoding handlers 653s ok 1 - upper-cased names are not accepted 653s ok 2 - application/json media_type decoder 653s ok 3 - default text/plain media_type decoder 653s ok 4 - getter uses the casefolded name 653s ok 5 - getter matches to wildcard entries 653s ok 6 - getter uses new override entry for wildcard 653s ok 7 - getter prefers case-insensitive matches to wildcard entries 653s ok 8 - getter matches to wildcard entries 653s ok 9 - text/* matches itself 653s ok 10 - getter still prefers case-insensitive matches to wildcard entries 653s ok 11 - text/* is preferred to */* 653s ok 12 - */* matches */* 653s ok 13 - */* is returned as a last resort 653s ok 14 - application/x-www-form-urlencoded happy path with unicode 653s ok 15 - application/x-ndjson happy path with unicode 653s ok 16 - application/x-ndjson dies with line number of the bad data 653s ok 17 - base64 encoding decoder + application/json media_type decoder 653s ok 18 - base64url encoding decoder + application/json media_type decoder 653s 1..18 653s ok 2 - media_type and encoding handlers 653s # Subtest: draft2020-12 assertions 653s ok 1 - under the current spec version, content* keywords are not assertions 653s ok 2 - contentEncoding first decodes the string, erroring if it can't 653s ok 3 - then contentMediaType parses the decoded string, erroring if it can't, and does not continue with the schema 653s ok 4 - contentSchema evaluates the decoded data 653s ok 5 - null data is handled properly 653s ok 6 - contentSchema successfully evaluates the decoded data 653s 1..6 653s ok 3 - draft2020-12 assertions 653s # Subtest: draft7 assertions 653s ok 1 - in draft7, assertion behaviour is the default 653s ok 2 - in draft7, then contentMediaType parses the decoded string, erroring if it can't, and does not continue with the schema 653s ok 3 - under draft7, content* are assertions by default, but contentSchema does not exist 653s 1..3 653s ok 4 - draft7 assertions 653s # Subtest: more assertions 653s ok 1 - evaluation aborts with an unrecognized contentEncoding 653s ok 2 - evaluation aborts with an unrecognized contentMediaType 653s 1..2 653s ok 5 - more assertions 653s 1..5 653s ok 657s t/dialects.t ............................ 657s # Subtest: invalid use of the $schema keyword 657s ok 1 - $schema can only appear at the root of a schema, when there is no canonical URI 657s ok 2 - $schema can only appear where the canonical URI has no fragment, when there is a canonical URI 657s ok 3 - this is still not a resource root, even in a $ref target 657s 1..3 657s ok 1 - invalid use of the $schema keyword 657s # Subtest: defaults without a $schema keyword 657s ok 1 - boolean schema: no $id, no $schema 657s ok 2 - boolean schema: defaults to draft2020-12 without a $schema keyword 657s ok 3 - object schema: no $id, no $schema 657s ok 4 - object schema: defaults to draft2020-12 without a $schema keyword 657s ok 5 - "not" keyword, from the Applicator vocabulary, is traversed at the root level 657s ok 6 - object schema: $id, no $schema 657s ok 7 - named resource defaults to draft2020-12 without a $schema keyword 657s ok 8 - boolean schema: no $id, no $schema 657s ok 9 - boolean schema: specification_version overridden 657s ok 10 - object schema: no $id, no $schema, specification version overridden, other keywords are ignored during traversal 657s ok 11 - object schema: no $id, no $schema, specification version overridden, other keywords are ignored during evaluation 657s ok 12 - object schema: overridden to draft7 657s ok 13 - object schema: $id, no $schema, unrecognized+invalid keywords are ignored during traversal 657s ok 14 - object schema: $id, no $schema 657s ok 15 - object schema: overridden to draft7 and other keywords are ignored 657s 1..15 657s ok 2 - defaults without a $schema keyword 657s # Subtest: behaviour with a $schema keyword 657s ok 1 - object schema: no $id, has $schema, unrecognized+invalid keywords are ignored during traversal 657s ok 2 - object schema: no $id, has $schema, unrecognized keywords are ignored during evaluation 657s ok 3 - semantics can be changed to another draft version 657s ok 4 - schema is accepted with $schema without an empty fragment 657s ok 5 - ..and is still recognized as draft7 657s ok 6 - $id and $schema, unrecognized+invalid keywords are ignored during traversal 657s ok 7 - $id and $schema 657s ok 8 - named resource can be changed to another draft version and other keywords are ignored 657s ok 9 - no $id, specification version overridden twice; unrecognized+invalid keywords are ignored during traversal 657s ok 10 - no $id, specification version overridden twice, other keywords are ignored during evaluation 657s ok 11 - unnamed resource can be changed to another draft version 657s ok 12 - no $id, specification version overridden twice; unrecognized+invalid keywords are ignored during traversal 657s ok 13 - no $id, specification version overridden twice, other keywords are ignored during evaluation 657s ok 14 - unnamed resource can be changed to another draft version 657s 1..14 657s ok 3 - behaviour with a $schema keyword 657s # Subtest: setting or changing schema semantics in a single document 657s ok 1 - $schema can appear adjacent to any $id 657s 1..1 657s ok 4 - setting or changing schema semantics in a single document 657s # Subtest: changing schema semantics across documents 657s ok 1 - no unexpected warnings 657s ok 2 - switching between specification versions is acceptable when crossing document boundaries 657s ok 3 - resources for top level schema 657s ok 4 - resources for subschema 657s ok 5 - no unexpected warnings 657s ok 6 - switching between specification versions is acceptable when crossing document boundaries 657s ok 7 - resources for top level schema 657s ok 8 - resources for subschema 657s 1..8 657s ok 5 - changing schema semantics across documents 657s # Subtest: changing schema semantics within documents 657s # 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. 657s ok 1 - switching between specification versions is acceptable within a document, draft2019-09 -> draft7 657s ok 2 - resources for top level schema 657s ok 3 - resources for subschema 657s # 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. 657s ok 4 - switching between specification versions is acceptable within a document, draft7 -> draf2020-12 657s ok 5 - resources for top level schema 657s ok 6 - resources for subschema 657s 1..6 657s ok 6 - changing schema semantics within documents 657s # Subtest: $vocabulary 657s ok 1 - $vocabulary syntax checks 657s ok 2 - $vocabulary location check - resource root 657s ok 3 - $vocabulary location check - document root 657s ok 4 - successfully evaluated a metaschema that specifies vocabularies 657s ok 5 - metaschemas are not saved on the resource 657s ok 6 - ..but once we use the schema as a metaschema, 657s ok 7 - ... the vocabulary information is now cached in the evaluator 657s 1..7 657s ok 7 - $vocabulary 657s # Subtest: standard metaschemas 657s ok 1 - main metaschema evaluated against its own URI 657s ok 2 - main metaschema evaluated against its own content 657s ok 3 - core metaschema evaluated against the main metaschema URI 657s ok 4 - core metaschema evaluated against its own content 657s 1..4 657s ok 8 - standard metaschemas 657s # Subtest: custom metaschemas, without custom vocabularies 657s ok 1 - specification version detected from standard metaschema URI 657s ok 2 - custom metaschema restricts schemas to objects 657s ok 3 - custom metaschema recurses to standard metaschema 657s ok 4 - objects are acceptable schemas to this metaschema 657s ok 5 - metaschemas without $vocabulary can still be used in the $schema keyword 657s ok 6 - ..and schema uses the correct spec version and vocabularies 657s 1..6 657s ok 9 - custom metaschemas, without custom vocabularies 657s # Subtest: custom metaschemas, with custom vocabularies 657s ok 1 - custom metaschemas are okay, but the document must be known 657s ok 2 - $vocabulary location check - document root 657s ok 3 - metaschemas must have an i$id 657s ok 4 - $vocabulary validation that must be deferred until used as a metaschema 657s ok 5 - metaschemas using "$vocabulary" must contain vocabularies 657s ok 6 - metaschemas must contain the Core vocabulary 657s ok 7 - validation succeeds because "minimum" never gets run 657s ok 8 - determined vocabularies to use for this schema 657s 1..8 657s ok 10 - custom metaschemas, with custom vocabularies 657s # Subtest: custom vocabulary classes with add_vocabulary() 657s ok 1 - vocabulary class must exist 657s ok 2 - vocabulary class must implement the role 657s ok 3 - vocabulary class must implement some subs 657s ok 4 - vocabulary() sub in the vocabulary class must return uri => specification_version pairs 657s ok 5 - parse error from bad vocab sub 657s ok 6 - vocabulary() sub in the vocabulary class must contain valid absolute, fragmentless URIs 657s ok 7 - vocabulary() sub in the vocabulary class must reference a known specification version 657s ok 8 - added a vocabulary sub 657s ok 9 - vocabulary was successfully added 657s ok 10 - custom vocabulary class has a conflicting evaluation_order 657s ok 11 - added another vocabulary sub 657s ok 12 - custom vocabulary class used by a custom metaschema used by a schema 657s 1..12 657s ok 11 - custom vocabulary classes with add_vocabulary() 657s # Subtest: $schema points to a boolean schema 657s ok 1 - $schema cannot reference a boolean schema 657s 1..1 657s ok 12 - $schema points to a boolean schema 657s 1..12 657s ok 660s t/document.t ............................ 660s # Subtest: boolean document 660s ok 1 - boolean schema with no canonical_uri 660s ok 2 - boolean schema with invalid canonical_uri (fragment) 660s ok 3 - boolean schema with valid canonical_uri 660s 1..3 660s ok 1 - boolean document 660s # Subtest: object document 660s ok 1 - object schema with no canonical_uri, no root $id 660s ok 2 - object schema with valid canonical_uri, no root $id 660s ok 3 - object schema with no canonical_uri, and absolute root $id 660s ok 4 - object schema with no canonical_uri, and absolute root $id 660s ok 5 - object schema with no canonical_uri, and absolute root $id 660s ok 6 - object schema with canonical_uri and root $id, and additional resource schemas as well 660s ok 7 - relative uri for root $id 660s ok 8 - no root $id; absolute uri with path in subschema resource 660s 1..8 660s ok 2 - object document 660s # Subtest: $id and $anchor as properties 660s ok 1 - did not index the $id and $anchor properties as if they were identifier keywords 660s 1..1 660s ok 3 - $id and $anchor as properties 660s # Subtest: $id with an empty fragment 660s ok 1 - $id is stored with the empty fragment stripped 660s 1..1 660s ok 4 - $id with an empty fragment 660s # Subtest: $id with a non-empty fragment 660s ok 1 - did not index the $id with a non-empty fragment, nor use it as the base for other identifiers 660s 1..1 660s ok 5 - $id with a non-empty fragment 660s # Subtest: $anchor not conforming to syntax 660s ok 1 - did not index an $anchor with invalid characters 660s 1..1 660s ok 6 - $anchor not conforming to syntax 660s # Subtest: $schema not conforming to syntax 660s ok 1 - invalid $schema is detected 660s 1..1 660s ok 7 - $schema not conforming to syntax 660s # Subtest: $anchor and $id below an $id that is not at the document root 660s ok 1 - canonical_uri uses the path from the innermost $id, not document root $id 660s 1..1 660s ok 8 - $anchor and $id below an $id that is not at the document root 660s # Subtest: JSON pointer and URI escaping 660s ok 1 - properly escaped special characters in JSON pointers and URIs 660s ok 2 - schema locations are tracked 660s ok 3 - non-schema locations are also tracked 660s 1..3 660s ok 9 - JSON pointer and URI escaping 660s # Subtest: resource collisions 660s ok 1 - detected collision between document's initial uri and a subschema's uri 660s ok 2 - detected collision between two subschema uris in a document 660s ok 3 - ignored "duplicate" uris embedded in non-schemas 660s ok 4 - the correct canonical uri is indexed in the inverted index 660s 1..4 660s ok 10 - resource collisions 660s # Subtest: create document with explicit canonical_uri set to the same as root $id 660s ok 1 - there is one single uri indexed to the document 660s 1..1 660s ok 11 - create document with explicit canonical_uri set to the same as root $id 660s # Subtest: canonical_uri identification from a document with errors 660s ok 1 - error lower down in document does not result in an inner identifier being used as canonical_uri 660s 1..1 660s ok 12 - canonical_uri identification from a document with errors 660s # Subtest: custom metaschema_uri 660s ok 1 - determined vocabularies to use for this schema 660s ok 2 - validation succeeds because "minimum" never gets run 660s ok 3 - can evaluate at a subschema as well, with the same vocabularies 660s ok 4 - schema validates against its metaschema, and "minimum" is ignored 660s ok 5 - no leaks in the evaluator object 660s 1..5 660s ok 13 - custom metaschema_uri 660s 1..13 660s ok 661s t/equality.t ............................ 661s # Subtest: equality, using inflated data 661s ok 1 - null == null is true 661s ok 2 - type of arg 0 was not mutated while making equality check 661s ok 3 - type of arg 1 was not mutated while making equality check 661s # 661s ok 4 - null == false is false 661s ok 5 - two instances differ at the expected place 661s ok 6 - type of arg 0 was not mutated while making equality check 661s ok 7 - type of arg 1 was not mutated while making equality check 661s # 661s ok 8 - null == true is false 661s ok 9 - two instances differ at the expected place 661s ok 10 - type of arg 0 was not mutated while making equality check 661s ok 11 - type of arg 1 was not mutated while making equality check 661s # 661s ok 12 - null == 1 is false 661s ok 13 - two instances differ at the expected place 661s ok 14 - type of arg 0 was not mutated while making equality check 661s ok 15 - type of arg 1 was not mutated while making equality check 661s # 661s ok 16 - null == "1" is false 661s ok 17 - two instances differ at the expected place 661s ok 18 - type of arg 0 was not mutated while making equality check 661s ok 19 - type of arg 1 was not mutated while making equality check 661s # 661s ok 20 - ["a","b","c"] == ["a","b","c"] is true 661s ok 21 - type of arg 0 was not mutated while making equality check 661s ok 22 - type of arg 1 was not mutated while making equality check 661s # 661s ok 23 - ["a","b","c"] == ["a","b"] is false 661s ok 24 - two instances differ at the expected place 661s ok 25 - type of arg 0 was not mutated while making equality check 661s ok 26 - type of arg 1 was not mutated while making equality check 661s # 661s ok 27 - ["a","b"] == ["b","a"] is false 661s ok 28 - two instances differ at the expected place 661s ok 29 - type of arg 0 was not mutated while making equality check 661s ok 30 - type of arg 1 was not mutated while making equality check 661s # 661s ok 31 - 1 == 1 is true 661s ok 32 - type of arg 0 was not mutated while making equality check 661s ok 33 - type of arg 1 was not mutated while making equality check 661s # 661s ok 34 - 1 == 1.0 is true 661s ok 35 - type of arg 0 was not mutated while making equality check 661s ok 36 - type of arg 1 was not mutated while making equality check 661s # 661s ok 37 - 1 == "1.0" is false 661s ok 38 - two instances differ at the expected place 661s ok 39 - type of arg 0 was not mutated while making equality check 661s ok 40 - type of arg 1 was not mutated while making equality check 661s # 661s ok 41 - "1.1" == 1.1 is false 661s ok 42 - two instances differ at the expected place 661s ok 43 - type of arg 0 was not mutated while making equality check 661s ok 44 - type of arg 1 was not mutated while making equality check 661s # 661s ok 45 - "1" == 1 is false 661s ok 46 - two instances differ at the expected place 661s ok 47 - type of arg 0 was not mutated while making equality check 661s ok 48 - type of arg 1 was not mutated while making equality check 661s # 661s ok 49 - "1.1" == 1.1 is false 661s ok 50 - two instances differ at the expected place 661s ok 51 - type of arg 0 was not mutated while making equality check 661s ok 52 - type of arg 1 was not mutated while making equality check 661s # 661s ok 53 - [1,2] == [2,1] is false 661s ok 54 - two instances differ at the expected place 661s ok 55 - type of arg 0 was not mutated while making equality check 661s ok 56 - type of arg 1 was not mutated while making equality check 661s # 661s ok 57 - {"a":1,"b":2} == {"a":1,"b":2} is true 661s ok 58 - type of arg 0 was not mutated while making equality check 661s ok 59 - type of arg 1 was not mutated while making equality check 661s # 661s ok 60 - {"a":1} == {"a":1.0} is true 661s ok 61 - type of arg 0 was not mutated while making equality check 661s ok 62 - type of arg 1 was not mutated while making equality check 661s # 661s ok 63 - ["école","ಠ_ಠ"] == ["école","ಠ_ಠ"] is true 661s ok 64 - type of arg 0 was not mutated while making equality check 661s ok 65 - type of arg 1 was not mutated while making equality check 661s # 661s ok 66 - {"a":1,"b":2} == {"a":1,"b":3} is false 661s ok 67 - two instances differ at the expected place 661s ok 68 - type of arg 0 was not mutated while making equality check 661s ok 69 - type of arg 1 was not mutated while making equality check 661s # 661s ok 70 - {"d":{"f":4,"e":3},"a":{"b":1,"c":2}} == {"d":{"f":5,"e":3},"a":{"b":1,"c":2}} is false 661s ok 71 - two instances differ at the expected place 661s ok 72 - type of arg 0 was not mutated while making equality check 661s ok 73 - type of arg 1 was not mutated while making equality check 661s # 661s 1..73 661s ok 1 - equality, using inflated data 661s # Subtest: equality, using JSON strings 661s ok 1 - null == null is true 661s ok 2 - type of arg 0 was not mutated while making equality check 661s ok 3 - type of arg 1 was not mutated while making equality check 661s # 661s ok 4 - null == 1 is false 661s ok 5 - two instances differ at the expected place 661s ok 6 - type of arg 0 was not mutated while making equality check 661s ok 7 - type of arg 1 was not mutated while making equality check 661s # 661s ok 8 - ["a","b","c"] == ["a","b","c"] is true 661s ok 9 - type of arg 0 was not mutated while making equality check 661s ok 10 - type of arg 1 was not mutated while making equality check 661s # 661s ok 11 - ["a","b","c"] == ["a","b"] is false 661s ok 12 - two instances differ at the expected place 661s ok 13 - type of arg 0 was not mutated while making equality check 661s ok 14 - type of arg 1 was not mutated while making equality check 661s # 661s ok 15 - ["a","b"] == ["b","a"] is false 661s ok 16 - two instances differ at the expected place 661s ok 17 - type of arg 0 was not mutated while making equality check 661s ok 18 - type of arg 1 was not mutated while making equality check 661s # 661s ok 19 - 1 == 1 is true 661s ok 20 - type of arg 0 was not mutated while making equality check 661s ok 21 - type of arg 1 was not mutated while making equality check 661s # 661s ok 22 - 1 == 1.0 is true 661s ok 23 - type of arg 0 was not mutated while making equality check 661s ok 24 - type of arg 1 was not mutated while making equality check 661s # 661s ok 25 - 10 == 10.0 is true 661s ok 26 - type of arg 0 was not mutated while making equality check 661s ok 27 - type of arg 1 was not mutated while making equality check 661s # 661s ok 28 - [1,2] == [2,1] is false 661s ok 29 - two instances differ at the expected place 661s ok 30 - type of arg 0 was not mutated while making equality check 661s ok 31 - type of arg 1 was not mutated while making equality check 661s # 661s ok 32 - {"a":1,"b":2} == {"a":1,"b":2} is true 661s ok 33 - type of arg 0 was not mutated while making equality check 661s ok 34 - type of arg 1 was not mutated while making equality check 661s # 661s ok 35 - {"a":1} == {"a":1.0} is true 661s ok 36 - type of arg 0 was not mutated while making equality check 661s ok 37 - type of arg 1 was not mutated while making equality check 661s # 661s ok 38 - ["école","ಠ_ಠ"] == ["école","ಠ_ಠ"] is true 661s ok 39 - type of arg 0 was not mutated while making equality check 661s ok 40 - type of arg 1 was not mutated while making equality check 661s # 661s ok 41 - {"a":1,"b":2} == {"b":3,"a":1} is false 661s ok 42 - two instances differ at the expected place 661s ok 43 - type of arg 0 was not mutated while making equality check 661s ok 44 - type of arg 1 was not mutated while making equality check 661s # 661s ok 45 - {"d":{"f":4,"e":3},"a":{"c":2,"b":1}} == {"a":{"b":1,"c":2},"d":{"e":3,"f":5}} is false 661s ok 46 - two instances differ at the expected place 661s ok 47 - type of arg 0 was not mutated while making equality check 661s ok 48 - type of arg 1 was not mutated while making equality check 661s # 661s 1..48 661s ok 2 - equality, using JSON strings 661s # Subtest: equality, using scalarref_booleans 661s ok 1 - false == true is false 661s ok 2 - two instances differ at the expected place 661s ok 3 - type of arg 0 was not mutated while making equality check 661s ok 4 - type of arg 1 was not mutated while making equality check 661s # 661s ok 5 - true == true is true 661s ok 6 - type of arg 0 was not mutated while making equality check 661s ok 7 - type of arg 1 was not mutated while making equality check 661s # 661s ok 8 - false == false is true 661s ok 9 - type of arg 0 was not mutated while making equality check 661s ok 10 - type of arg 1 was not mutated while making equality check 661s # 661s ok 11 - true == false is false 661s ok 12 - two instances differ at the expected place 661s ok 13 - type of arg 0 was not mutated while making equality check 661s ok 14 - type of arg 1 was not mutated while making equality check 661s # 661s ok 15 - null == false is false 661s ok 16 - two instances differ at the expected place 661s ok 17 - type of arg 0 was not mutated while making equality check 661s ok 18 - type of arg 1 was not mutated while making equality check 661s # 661s ok 19 - null == false is false 661s ok 20 - two instances differ at the expected place 661s ok 21 - type of arg 0 was not mutated while making equality check 661s ok 22 - type of arg 1 was not mutated while making equality check 661s # 661s 1..22 661s ok 3 - equality, using scalarref_booleans 661s # Subtest: equality, using stringy_numbers 661s ok 1 - 1 == 1 is true 661s ok 2 - type of arg 0 was not mutated while making equality check 661s ok 3 - type of arg 1 was not mutated while making equality check 661s # 661s ok 4 - 1 == 1.0 is true 661s ok 5 - type of arg 0 was not mutated while making equality check 661s ok 6 - type of arg 1 was not mutated while making equality check 661s # 661s ok 7 - 1 == "1.0" is true 661s ok 8 - type of arg 0 was not mutated while making equality check 661s ok 9 - type of arg 1 was not mutated while making equality check 661s # 661s ok 10 - "1.1" == 1.1 is true 661s ok 11 - type of arg 0 was not mutated while making equality check 661s ok 12 - type of arg 1 was not mutated while making equality check 661s # 661s ok 13 - "1" == 1 is true 661s ok 14 - type of arg 0 was not mutated while making equality check 661s ok 15 - type of arg 1 was not mutated while making equality check 661s # 661s ok 16 - "1.1" == 1.1 is true 661s ok 17 - type of arg 0 was not mutated while making equality check 661s ok 18 - type of arg 1 was not mutated while making equality check 661s # 661s ok 19 - "1" == "1.00" is true 661s ok 20 - type of arg 0 was not mutated while making equality check 661s ok 21 - type of arg 1 was not mutated while making equality check 661s # 661s ok 22 - "1.10" == "1.1000" is true 661s ok 23 - type of arg 0 was not mutated while making equality check 661s ok 24 - type of arg 1 was not mutated while making equality check 661s # 661s ok 25 - "x" == "x" is true 661s ok 26 - type of arg 0 was not mutated while making equality check 661s ok 27 - type of arg 1 was not mutated while making equality check 661s # 661s ok 28 - "x" == "y" is false 661s ok 29 - two instances differ at the expected place 661s ok 30 - type of arg 0 was not mutated while making equality check 661s ok 31 - type of arg 1 was not mutated while making equality check 661s # 661s 1..31 661s ok 4 - equality, using stringy_numbers 661s 1..4 661s ok 664s t/errors.t .............................. 664s # Subtest: multiple types 664s ok 1 - type returned false 664s ok 2 - got error count 664s ok 3 - correct error generated from type 664s ok 4 - result object serializes correctly 664s 1..4 664s ok 1 - multiple types 664s # Subtest: multipleOf 664s ok 1 - correct error generated from multipleOf 664s 1..1 664s ok 2 - multipleOf 664s # Subtest: uniqueItems 664s ok 1 - correct error generated from uniqueItems 664s 1..1 664s ok 3 - uniqueItems 664s # Subtest: allOf, not, and false schema 664s ok 1 - correct errors with locations; did not collect errors inside "not" 664s ok 2 - short-circuited results contain fewer errors 664s 1..2 664s ok 4 - allOf, not, and false schema 664s # Subtest: anyOf keeps all errors for false paths when invalid, discards errors for false paths when valid 664s ok 1 - correct errors with locations; did not collect errors inside "not" 664s ok 2 - short-circuited results contain the same errors (short-circuiting not possible) 664s ok 3 - did not collect errors from failure paths from successful anyOf 664s ok 4 - no errors collected for true validation 664s 1..4 664s ok 5 - anyOf keeps all errors for false paths when invalid, discards errors for false paths when valid 664s # Subtest: applicators with non-boolean subschemas, discarding intermediary errors - items 664s ok 1 - collected all errors from subschemas for failing branches only (passing branches discard errors) 664s ok 2 - short-circuited results contain fewer errors 664s 1..2 664s ok 6 - applicators with non-boolean subschemas, discarding intermediary errors - items 664s # Subtest: applicators with non-boolean subschemas, discarding intermediary errors - contains 664s ok 1 - collected all errors from subschemas for failing branches only (passing branches discard errors) 664s ok 2 - short-circuited results contain the same errors 664s 1..2 664s ok 7 - applicators with non-boolean subschemas, discarding intermediary errors - contains 664s # Subtest: errors with $refs 664s ok 1 - errors have correct absolute keyword location via $ref 664s 1..1 664s ok 8 - errors with $refs 664s # Subtest: const and enum 664s ok 1 - got details about object differences in errors from const and enum 664s 1..1 664s ok 9 - const and enum 664s # Subtest: exceptions 664s ok 1 - attempting to evaluate a json string returns the exception as an error 664s ok 2 - exception flag is true on the result 664s ok 3 - a subschema of an invalid type returns an error at the right position, and evaluation continues 664s ok 4 - exception flag is true on the result 664s ok 5 - invalid argument to "type" returns an error at the right position, and evaluation continues 664s ok 6 - exception flag is true on the result 664s 1..6 664s ok 10 - exceptions 664s # Subtest: errors after crossing multiple $refs using $id and $anchor 664s ok 1 - errors have correct absolute keyword location via $ref 664s ok 2 - absolute keyword location is correct, even when not used in the $ref 664s 1..2 664s ok 11 - errors after crossing multiple $refs using $id and $anchor 664s # Subtest: unresolvable $ref to a local resource 664s ok 1 - error for a bad $ref reports the correct absolute location that was referred to 664s ok 2 - exception flag is true on the result 664s 1..2 664s ok 12 - unresolvable $ref to a local resource 664s # Subtest: unresolvable $ref to a remote resource 664s ok 1 - error for a bad $ref reports the correct absolute location that was referred to 664s ok 2 - exception flag is true on the result 664s 1..2 664s ok 13 - unresolvable $ref to a remote resource 664s # Subtest: unresolvable $ref to plain-name fragment 664s ok 1 - properly handled a bad $ref to an anchor 664s ok 2 - exception flag is true on the result 664s 1..2 664s ok 14 - unresolvable $ref to plain-name fragment 664s # Subtest: abort due to a schema error 664s ok 1 - exception inside a oneOf (where errors are localized) are still included in the result 664s 1..1 664s ok 15 - abort due to a schema error 664s # Subtest: sorted property names 664s ok 1 - property names are considered in sorted order 664s 1..1 664s ok 16 - sorted property names 664s # Subtest: bad regex in schema 664s ok 1 - bad "pattern" and "patternProperties" regexes are properly noted in error 664s ok 2 - bad "pattern" regex is properly noted in error 664s ok 3 - "pattern" regex is now valid, due to the Unicode property becoming defined 664s 1..3 664s ok 17 - bad regex in schema 664s # Subtest: JSON pointer escaping 664s ok 1 - JSON pointers are properly escaped; URIs doubly so 664s ok 2 - absoluteKeywordLocation is omitted when paths are the same, not counting uri encoding 664s ok 3 - use of _schema_path_suffix in a fatal error 664s 1..3 664s ok 18 - JSON pointer escaping 664s # Subtest: absoluteKeywordLocation 664s ok 1 - absoluteKeywordLocation is included when different from instanceLocation, even when empty 664s ok 2 - absoluteKeywordLocation is not included when the path equals keywordLocation, even if a $ref is present 664s ok 3 - absoluteKeywordLocation is never "\#" 664s ok 4 - absoluteKeywordLocation reflects the canonical schema uri as it changes when passing through $id 664s ok 5 - plain-name fragment in $id does not change canonical schema uri 664s 1..5 664s ok 19 - absoluteKeywordLocation 664s # Subtest: dependentRequired 664s ok 1 - dependentRequired traversal error 664s 1..1 664s ok 20 - dependentRequired 664s # Subtest: evaluate in the middle of a document 664s ok 1 - provided evaluation uri does not exist 664s ok 2 - error has correct locations from override hash 664s 1..2 664s ok 21 - evaluate in the middle of a document 664s # Subtest: numbers in output 664s ok 1 - numbers in errors do not lose any digits of precision 664s 1..1 664s ok 22 - numbers in output 664s # Subtest: effective_base_uri 664s ok 1 - error locations are relative to the effective_base_uri, but $ref usage is not restricted 664s 1..1 664s ok 23 - effective_base_uri 664s # Subtest: recommended_response 664s ok 1 - recommended_response is not defined when there are no errors 664s ok 2 - recommended_response uses the first error in the result 664s ok 3 - recommended_response indicates an exception occurred 664s ok 4 - recommended_response uses the one from the error that is explicitly set 664s 1..4 664s ok 24 - recommended_response 664s 1..24 664s ok 666s t/evaluate_json_string.t ................ 666s ok 1 - we have a JSON decoder 666s ok 2 - json data "true" is evaluated successfully 666s ok 3 - no exceptions in evaluate_json_string on good json 666s ok 4 - result object serializes correctly 666s ok 5 - no exceptions in evaluate_json_string on bad json 666s 1..5 666s ok 667s t/find-identifiers.t .................... 667s # Subtest: $id sets canonical uri 667s ok 1 - $id was recognized - $ref was successfully traversed 667s ok 2 - resources indexed; document canonical_uri is still unset 667s ok 3 - the same document object is indexed under both URIs 667s ok 4 - the schema contains no blessed leaf nodes 667s 1..4 667s ok 1 - $id sets canonical uri 667s # Subtest: anchors 667s ok 1 - $id was recognized - absolute locations use json paths, not anchors 667s ok 2 - internal resource index is correct 667s 1..2 667s ok 2 - anchors 667s # Subtest: $anchor at root without $id 667s ok 1 - $id without anchor was recognized - absolute locations use json paths, not anchors 667s ok 2 - internal resource index is correct 667s 1..2 667s ok 3 - $anchor at root without $id 667s # Subtest: $ids and $anchors in subschemas after $id changes 667s ok 1 - $anchor is legal in a subschema 667s ok 2 - internal resource index is correct 667s 1..2 667s ok 4 - $ids and $anchors in subschemas after $id changes 667s # Subtest: invalid $id and $anchor 667s ok 1 - bad $id and $anchor are detected, even if bad definitions are not traversed 667s ok 2 - "bad" $ids and $anchors that are not actually keywords are not reported as errors 667s 1..2 667s ok 5 - invalid $id and $anchor 667s # Subtest: nested $ids 667s ok 1 - errors have the correct location 667s ok 2 - properly resolved all the nested $ids 667s 1..2 667s ok 6 - nested $ids 667s # Subtest: multiple documents, each using canonical_uri = "" 667s ok 1 - evaluation of schema1 667s ok 2 - resources in initial schema are indexed 667s ok 3 - successful evaluation of schema2 667s ok 4 - resources in second schema are indexed; all resources from first schema are preserved except uri="" 667s 1..4 667s ok 7 - multiple documents, each using canonical_uri = "" 667s # Subtest: multiple documents, each using canonical_uri = "", collisions in other resources 667s ok 1 - evaluation of schema1 667s ok 2 - resources in initial schema are indexed 667s ok 3 - schema2 cannot be evaluated - an internal $id collides with an existing resource 667s 1..3 667s ok 8 - multiple documents, each using canonical_uri = "", collisions in other resources 667s # Subtest: resource collisions in canonical uris 667s ok 1 - detected collision between a document's initial uri and a document's subschema's uri 667s ok 2 - detected collision between two document subschema uris 667s 1..2 667s ok 9 - resource collisions in canonical uris 667s # Subtest: relative uri in $id 667s ok 1 - root schema location is correctly identified 667s ok 2 - properly able to traverse a recursive schema using a relative $id 667s 1..2 667s ok 10 - relative uri in $id 667s 1..10 667s ok 670s t/formats.t ............................. 670s # Subtest: no validation 670s ok 1 - validate_formats=0 disables format assertion behaviour; annotation is still produced 670s ok 2 - format validation can be turned off in evaluate() 670s 1..2 670s ok 1 - no validation 670s # Subtest: simple validation 670s ok 1 - non-string values are valid, and produce an annotation 670s ok 2 - simple success 670s ok 3 - simple failure 670s ok 4 - format_validation defaults to false 670s ok 5 - format validation can be turned on in evaluate() 670s ok 6 - ...but the value is still false on the object 670s 1..6 670s ok 2 - simple validation 670s # Subtest: override a format sub 670s ok 1 - check syntax of override to existing format via constructor 670s ok 2 - check syntax of override format name to existing format via setter 670s ok 3 - check syntax of override definition value to existing format via setter 670s ok 4 - type is required if passing a hashref 670s ok 5 - cannot override a core format to support a different data type 670s ok 6 - can override a core format definition, as long as it uses the same type 670s ok 7 - check syntax of implementation for a new format 670s ok 8 - check syntax of implementation when adding an override to existing format 670s ok 9 - check syntax of implementation when adding a new format 670s ok 10 - swapping out format implementation turns success into failure; wrong types are still valid 670s ok 11 - can override a custom format definition to use a different type 670s 1..11 670s ok 3 - override a format sub 670s # Subtest: toggle validate_formats after adding schema 670s ok 1 - assertion behaviour is off initially 670s ok 2 - assertion behaviour can be enabled later with an already-loaded schema 670s ok 3 - valid assertion behaviour does not die 670s ok 4 - a schema document can be used with another evaluator with assertion behaviour 670s ok 5 - valid assertion behaviour does not die 670s 1..5 670s ok 4 - toggle validate_formats after adding schema 670s # Subtest: custom metaschemas 670s ok 1 - custom metaschema using format-assertion=true validates formats 670s ok 2 - custom metaschema using format-assertion=true validates formats 670s 1..2 670s ok 5 - custom metaschemas 670s # Subtest: core formats added after draft7 670s ok 1 - duration is not implemented in draft7 670s ok 2 - uuid is not implemented in draft7 670s 1..2 670s ok 6 - core formats added after draft7 670s # Subtest: unimplemented core formats 670s ok 1 - draft7 with validate_formats = 1, no error when an unimplemented core format is used 670s ok 2 - draft2019-09 with validate_formats = 1, no error when an unimplemented core format is used 670s ok 3 - draft2020-12 with validate_formats = 1, no error when an unimplemented core format is used 670s ok 4 - draft2020-12 with Format-Assertion vocabulary: error when an unimplemented core format is used 670s ok 5 - draft2020-12 with Format-Assertion vocabulary: error is seen even when containing subschema would be true 670s 1..5 670s ok 7 - unimplemented core formats 670s # Subtest: unknown custom formats 670s ok 1 - draft7: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure 670s ok 2 - draft2019-09: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure; annotation is still produced 670s ok 3 - draft2020-12: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure; annotation is still produced 670s ok 4 - draft2020-12: for format validation with the Format-Assertion vocabulary, unrecognized format attributes are detected at traverse time 670s 1..4 670s ok 8 - unknown custom formats 670s # Subtest: format: pure_integer 670s ok 1 - pure_integer format with type 670s ok 2 - pure_integer format without type 670s 1..2 670s ok 9 - format: pure_integer 670s # Subtest: formats supporting multiple core types 670s ok 1 - int64 format without type - accepts both numbers and strings 670s ok 2 - int64 format without type - accepts both numbers and strings 670s 1..2 670s ok 10 - formats supporting multiple core types 670s # Subtest: stringy numbers with a numeric format 670s ok 1 - FormatAnnotation+validate_formats: strings that look like numbers can be validated against a numeric format when stringy_numbers=1 670s ok 2 - FormatAssertion: strings that look like numbers can be validated against a numeric format when stringy_numbers=1 670s 1..2 670s ok 11 - stringy numbers with a numeric format 670s 1..11 670s ok 671s t/invalid-schemas-draft2019-09.t ........ 671s # AUTHOR_TESTING: 671s # AUTOMATED_TESTING: 1 671s # EXTENDED_TESTING: 671s # NO_TODO: 671s # TEST_DIR: 671s # NO_SHORT_CIRCUIT: 671s # 671s # running tests in /tmp/autopkgtest.BzCoE7/autopkgtest_tmp/smokeusECz7/t/invalid-schemas-draft2019-09 against draft2019-09... 671s # 671s ok 1 - invalid-input.json: "invalid user input: type (string)" - "graceful error from 'type' (string)" { 671s # result: { 671s # "errors": [ 671s # { 671s # "error": "type value is not a string", 671s # "instanceLocation": "", 671s # "keywordLocation": "/type" 671s # } 671s # ], 671s # "valid": false 671s # } 671s # short-circuited result: { 671s # "errors": [ 671s # { 671s # "error": "type value is not a string", 671s # "instanceLocation": "", 671s # "keywordLocation": "/type" 671s # } 671s # ], 671s # "valid": false 671s # } 671s ok 1 - test passes: data is valid: false 671s 1..1 671s } 671s ok 2 - invalid-input.json: "invalid user input: type (array)" - "graceful error from 'type' (array)" { 671s # result: { 671s # "errors": [ 671s # { 671s # "error": "unrecognized type \"\"", 671s # "instanceLocation": "", 671s # "keywordLocation": "/type" 671s # } 671s # ], 671s # "valid": false 671s # } 671s # short-circuited result: { 671s # "errors": [ 671s # { 671s # "error": "unrecognized type \"\"", 671s # "instanceLocation": "", 671s # "keywordLocation": "/type" 671s # } 671s # ], 671s # "valid": false 671s # } 671s ok 1 - test passes: data is valid: false 671s 1..1 671s } 671s # 671s ok 3 - ref.json: "invalid $ref: unencoded characters" - "unencoded characters in $ref uri" { 671s # result: { 671s # "errors": [ 671s # { 671s # "error": "$ref value is not a valid URI reference", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$defs/foo/$ref" 671s # } 671s # ], 671s # "valid": false 671s # } 671s # short-circuited result: { 671s # "errors": [ 671s # { 671s # "error": "$ref value is not a valid URI reference", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$defs/foo/$ref" 671s # } 671s # ], 671s # "valid": false 671s # } 671s ok 1 - test passes: data is valid: false 671s 1..1 671s } 671s ok 4 - ref.json: "invalid $ref: non-ascii characters" - "non-ascii characters in $ref uri" { 671s # result: { 671s # "errors": [ 671s # { 671s # "error": "$ref value is not a valid URI reference", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$defs/foo/$ref" 671s # } 671s # ], 671s # "valid": false 671s # } 671s # short-circuited result: { 671s # "errors": [ 671s # { 671s # "error": "$ref value is not a valid URI reference", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$defs/foo/$ref" 671s # } 671s # ], 671s # "valid": false 671s # } 671s ok 1 - test passes: data is valid: false 671s 1..1 671s } 671s # 671s ok 5 - vocabulary.json: "invalid $vocabulary: need boolean values" - "an invalid $vocabulary value (value should be a boolean)" { 671s # result: { 671s # "errors": [ 671s # { 671s # "error": "$vocabulary value at \"https://foo.com\" is not a boolean", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$vocabulary/https:~1~1foo.com" 671s # } 671s # ], 671s # "valid": false 671s # } 671s # short-circuited result: { 671s # "errors": [ 671s # { 671s # "error": "$vocabulary value at \"https://foo.com\" is not a boolean", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$vocabulary/https:~1~1foo.com" 671s # } 671s # ], 671s # "valid": false 671s # } 671s ok 1 - test passes: data is valid: false 671s 1..1 671s } 671s ok 6 - vocabulary.json: "invalid $vocabulary: uri must not have unencoded characters" - "unencoded characters in $vocabulary uri" { 671s # result: { 671s # "errors": [ 671s # { 671s # "error": "\"http://foo^bar/path\" is not a valid URI", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$vocabulary/http:~1~1foo^bar~1path" 671s # } 671s # ], 671s # "valid": false 671s # } 671s # short-circuited result: { 671s # "errors": [ 671s # { 671s # "error": "\"http://foo^bar/path\" is not a valid URI", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$vocabulary/http:~1~1foo^bar~1path" 671s # } 671s # ], 671s # "valid": false 671s # } 671s ok 1 - test passes: data is valid: false 671s 1..1 671s } 671s ok 7 - vocabulary.json: "invalid $vocabulary: non-ascii characters in uri" - "non-ascii characters in $vocabulary uri" { 671s # result: { 671s # "errors": [ 671s # { 671s # "error": "\"https://ಠ_ಠ.com\" is not a valid URI", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$vocabulary/https:~1~1ಠ_ಠ.com" 671s # } 671s # ], 671s # "valid": false 671s # } 671s # short-circuited result: { 671s # "errors": [ 671s # { 671s # "error": "\"https://ಠ_ಠ.com\" is not a valid URI", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$vocabulary/https:~1~1ಠ_ಠ.com" 671s # } 671s # ], 671s # "valid": false 671s # } 671s ok 1 - test passes: data is valid: false 671s 1..1 671s } 671s ok 8 - vocabulary.json: "invalid $vocabulary: missing scheme" - "$vocabulary uri is missing a scheme" { 671s # result: { 671s # "errors": [ 671s # { 671s # "error": "\"foo.com\" is not a valid URI", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$vocabulary/foo.com" 671s # } 671s # ], 671s # "valid": false 671s # } 671s # short-circuited result: { 671s # "errors": [ 671s # { 671s # "error": "\"foo.com\" is not a valid URI", 671s # "instanceLocation": "", 671s # "keywordLocation": "/$vocabulary/foo.com" 671s # } 671s # ], 671s # "valid": false 671s # } 671s ok 1 - test passes: data is valid: false 671s 1..1 671s } 671s # 671s # 671s # Results using Test::JSON::Schema::Acceptance 1.021 671s # specification version: draft2019-09 671s # using custom test directory: t/invalid-schemas-draft2019-09 671s # optional tests included: no 671s # 671s # filename pass todo-fail fail 671s # --------------------------------------------------------------- 671s # invalid-input.json 2 0 0 671s # ref.json 2 0 0 671s # vocabulary.json 4 0 0 671s # --------------------------------------------------------------- 671s # TOTAL 8 0 0 671s # 671s # Congratulations, all non-optional tests are passing! 671s # 671s ok 9 - no leaks in the main evaluator object 671s ok 10 - no leaks in the short-circuiting evaluator object 671s 1..10 671s ok 674s t/max_traversal_depth.t ................. 674s ok 1 - evaluation is halted when traversal gets too deep 674s ok 2 - evaluation is halted when an instance location is evaluated against the same schema location a second time 674s ok 3 - the seen counter does not confuse URI paths and fragments: /properties/foo vs \#/properties/foo 674s ok 4 - the seen counter does not confuse two subschemas that both apply the same definition to the same instance location 674s 1..4 674s ok 676s t/output_format.t ....................... 676s ok 1 - output_format defaults to basic 676s ok 2 - Result object gets the output_format from the evaluator 676s ok 3 - basic format includes all errors linearly 676s ok 4 - flag format only includes the valid property 676s ok 5 - terse format omits errors from redundant applicator keywords 676s ok 6 - basic format includes all errors linearly 676s ok 7 - terse format does not omit these crucial errors 676s # Subtest: strict_basic 676s ok 1 - strict_basic turns json pointers into URIs, including uri escapes 676s 1..1 676s ok 8 - strict_basic 676s # Subtest: AND two result objects together 676s ok 1 - ANDing true and false results = invalid, but errors and annotations both preserved 676s ok 2 - ANDing two true results = valid 676s ok 3 - ANDing two false results = invalid 676s ok 4 - only Result objects can be processed 676s ok 5 - ANDing a result with itself is a no-op 676s 1..5 676s ok 9 - AND two result objects together 676s # Subtest: annotations 676s ok 1 - by default, annotations are included in the formatted output 676s ok 2 - but inclusion can be disabled 676s 1..2 676s ok 10 - annotations 676s # Subtest: data_only 676s ok 1 - data_only format outputs a string of data locations only, with duplicates removed 676s ok 2 - data_only format uses keyword locations when result came from traverse 676s 1..2 676s ok 11 - data_only 676s 1..11 676s ok 678s t/pattern.t ............................. 678s ok 1 - unchanged LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z] 678s ok 2 - unchanged LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching 678s ok 3 - upgraded LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z] 678s ok 4 - upgraded LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching 678s ok 5 - downgraded LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z] 678s ok 6 - downgraded LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching 678s # Subtest: empty pattern 678s ok 1 - empty pattern in "pattern" will correctly match 678s ok 2 - empty pattern in "patternProperties" will correctly match 678s 1..2 678s ok 7 - empty pattern 678s 1..7 678s ok 685s t/ref.t ................................. 685s # Subtest: local JSON pointer 685s ok 1 - can follow local $ref to a true schema 685s ok 2 - can follow local $ref to a false schema 685s ok 3 - got error for unresolvable ref 685s ok 4 - no exception 685s 1..4 685s ok 1 - local JSON pointer 685s # Subtest: fragment with URI-escaped and JSON Pointer-escaped characters 685s ok 1 - can follow $ref with escaped components 685s 1..1 685s ok 2 - fragment with URI-escaped and JSON Pointer-escaped characters 685s # Subtest: local anchor 685s ok 1 - can follow local $ref to an $anchor to a true schema 685s ok 2 - can follow local $ref to an $anchor to a false schema 685s ok 3 - got error for unresolvable ref 685s ok 4 - no exception 685s 1..4 685s ok 3 - local anchor 685s # Subtest: $id with an empty fragment 685s ok 1 - $id with empty fragment can be found by $ref that did not include it; fragment not included in error either 685s 1..1 685s ok 4 - $id with an empty fragment 685s # Subtest: $recursiveRef without nesting behaves like $ref 685s ok 1 - $recursiveRef without nested $recursiveAnchor behaves like $ref 685s 1..1 685s ok 5 - $recursiveRef without nesting behaves like $ref 685s # Subtest: $recursiveRef without $recursiveAnchor behaves like $ref 685s ok 1 - $recursiveRef without $recursiveAnchor behaves like $ref 685s 1..1 685s ok 6 - $recursiveRef without $recursiveAnchor behaves like $ref 685s # Subtest: $recursiveAnchor must be at a schema resource root 685s ok 1 - $recursiveAnchor can only appear at a schema resource root 685s ok 2 - schema now valid when an $id is added 685s ok 3 - $recursiveAnchor can only appear at a schema resource root 685s ok 4 - properly detecting a bad $recursiveAnchor even before passing through a $ref 685s 1..4 685s ok 7 - $recursiveAnchor must be at a schema resource root 685s # Subtest: $recursiveAnchor and $recursiveRef - standard usecases 685s ok 1 - validation requires the override that is not in scope 685s ok 2 - $recursiveRef requires a $recursiveAnchor that does not exist 685s ok 3 - $recursiveRef with both $recursiveAnchors in scope 685s 1..3 685s ok 8 - $recursiveAnchor and $recursiveRef - standard usecases 685s # Subtest: $recursiveRef without $recursiveAnchor 685s ok 1 - $ref - one level recursion 685s ok 2 - $recursiveRef with no $recursiveAnchor in scope has the same outcome 685s 1..2 685s ok 9 - $recursiveRef without $recursiveAnchor 685s # Subtest: $recursiveAnchor in our dynamic scope, but not in the target schema 685s ok 1 - $recursiveAnchor does not exist in the target schema - local recursion only, so integers match 685s ok 2 - $recursiveAnchor does not exist in the target schema - no recursion 685s ok 3 - $recursiveAnchor does not exist in the target schema - local recursion only 685s 1..3 685s ok 10 - $recursiveAnchor in our dynamic scope, but not in the target schema 685s # Subtest: $dynamicRef without nesting behaves like $ref 685s ok 1 - $dynamicRef without nested $dynamicAnchor behaves like $ref 685s 1..1 685s ok 11 - $dynamicRef without nesting behaves like $ref 685s # Subtest: $recursiveRef without $dynamicAnchor behaves like $ref 685s ok 1 - $dynamicRef without $dynamicAnchor behaves like $ref 685s 1..1 685s ok 12 - $recursiveRef without $dynamicAnchor behaves like $ref 685s # Subtest: $dynamicAnchor and $dynamicRef - standard usecases 685s ok 1 - validation requires the override that is not in scope 685s ok 2 - $dynamicRef requires a $dynamicAnchor that does not exist 685s ok 3 - $dynamicRef must use a URI containing the dynamic anchor fragment 685s ok 4 - there is no outer $dynamicAnchor in scope to recurse to 685s ok 5 - we have an outer $dynamicAnchor, and are using the fragment URI, but we used $ref rather than $dynamicRef 685s ok 6 - there is an outer $dynamicAnchor in scope to recurse to, but $dynamicRef must use a URI containing the dynamic anchor fragment 685s ok 7 - now everything is in place to recurse to the base 685s ok 8 - there is no $dynamicAnchor at the original target, and no anchor used in the target URI 685s 1..8 685s ok 13 - $dynamicAnchor and $dynamicRef - standard usecases 685s # Subtest: $dynamicRef to $dynamicAnchor not directly in the evaluation path 685s ok 1 - second dynamic anchor is not in the evaluation path, but we found it via dynamic scope - type does not match 685s ok 2 - regular $anchor in dynamic scope should not be used by $dynamicRef 685s ok 3 - some other $dynamicAnchor in dynamic scope should not be used by $dynamicRef 685s ok 4 - second dynamic anchor is not in the evaluation path, but we found it via dynamic scope - type matches 685s ok 5 - the first dynamic scope is set by document uri, not just the $id keyword 685s 1..5 685s ok 14 - $dynamicRef to $dynamicAnchor not directly in the evaluation path 685s # Subtest: after leaving a dynamic scope, it should not be used by a $dynamicRef 685s ok 1 - first_scope is no longer in scope, so it is not used by $dynamicRef 685s 1..1 685s ok 15 - after leaving a dynamic scope, it should not be used by a $dynamicRef 685s # Subtest: anchors do not match 685s ok 1 - $dynamicRef goes to enhanced schema 685s ok 2 - $dynamicRef -> $dynamicAnchor -> $anchor is a no go: we stay at the original schema 685s 1..2 685s ok 16 - anchors do not match 685s # Subtest: reference to a non-schema location 685s ok 1 - $ref to a non-schema is not permitted 685s ok 2 - $dynamicRef to a non-schema is not permitted 685s ok 3 - $recursiveRef to a non-schema is not permitted 685s ok 4 - $schema to a non-schema is not permitted 685s 1..4 685s ok 17 - reference to a non-schema location 685s # Subtest: evaluate at a non-schema location 685s ok 1 - evaluating at a non-schema location is not permitted 685s 1..1 685s ok 18 - evaluate at a non-schema location 685s 1..18 685s ok 694s t/serialization.t ....................... 694s # Seeded srand with seed '20240320' from local date. 694s ok 1 - evaluated against an empty schema 694s ok 2 - evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations 694s ok 3 - evaluate data against schema with custom dialect; format-annotation is used 694s ok 4 - frozen object contains all the right keys 694s ok 5 - thawed object contains all the right keys 694s ok 6 - evaluate again against an empty schema 694s ok 7 - in thawed object, evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations 694s ok 8 - evaluate again against an empty schema 694s ok 9 - core vocabulary_class for a different spec version works in a thawed object 694s ok 10 - format-assertion vocabulary_class works in a thawed object 694s ok 11 - metaschema_vocabulary_classes works in a thawed object 694s ok 12 - media_type works in a thawed object 694s ok 13 - encoding works in a thawed object 694s # Seeded srand with seed '20240320' from local date. 694s ok 14 - thaw object in a separate process { 694s ok 1 - thawed object in a new process contains all the right keys 694s ok 2 - in thawed object, evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations 694s ok 3 - evaluate data against schema with custom dialect; format-assertion is used 694s 1..3 694s } 694s ok 15 - child process finished successfully 694s 1..15 694s ok 695s t/specification_version.t ............... 695s ok 1 - unrecognized $SPECIFICATION_VERSION 695s # Subtest: specification aliases 695s ok 1 - 2020-12 is an alias for draft2020-12 695s ok 2 - 2019-09 is an alias for draft2019-09 695s ok 3 - 7 is an alias for draft7 695s 1..3 695s ok 2 - specification aliases 695s # Subtest: $ref and older specification versions 695s ok 1 - $schema and $ref cannot be used together, when $schema is too old 695s 1..1 695s ok 3 - $ref and older specification versions 695s # Subtest: <= draft7: $ref in combination with any other keyword causes the other keywords to be ignored 695s ok 1 - keywords adjacent to $ref are not evaluated 695s 1..1 695s ok 4 - <= draft7: $ref in combination with any other keyword causes the other keywords to be ignored 695s # Subtest: $ref adjacent to a path used in a $ref 695s ok 1 - the presence of $ref also blocks the use of other $refs to adjacent locations 695s 1..1 695s ok 5 - $ref adjacent to a path used in a $ref 695s # Subtest: $defs support 695s ok 1 - $defs is not recognized in <= draft7 695s ok 2 - $defs is supported in > draft7 695s 1..2 695s ok 6 - $defs support 695s # Subtest: definitions support 695s ok 1 - definitions is not recognized in >= draft2019-09 695s ok 2 - warned when using no-longer-supported keyword 695s ok 3 - definitions is supported in <= draft7 695s 1..3 695s ok 7 - definitions support 695s # Subtest: dependencies, dependentRequired, dependentSchemas 695s ok 1 - dependencies is not recognized in >= draft2019-09 695s ok 2 - warned when using no-longer-supported keyword 695s ok 3 - dependentRequired is supported in >= draft2019-09 695s ok 4 - dependentSchemas is supported in >= draft2019-09 695s ok 5 - dependencies is supported in <= draft7 695s ok 6 - dependentRequired is not recognized in <= draft7 695s ok 7 - dependentSchemas is not recognized in <= draft7 695s 1..7 695s ok 8 - dependencies, dependentRequired, dependentSchemas 695s # Subtest: prefixItems, items and additionalItems 695s ok 1 - prefixitems+items works when specification_version >= draft2020-12 695s ok 2 - array form of items not supported when specification_version >= draft2020-12 695s ok 3 - additionalitems not recognized when specification_version >= draft2020-12 695s ok 4 - warned when using no-longer-supported keyword 695s ok 5 - prefixitems not supported when specification_version specifies other than draft2020-12 695s ok 6 - array-based items in >= draft2020-12 695s ok 7 - prefixItems + additionalItems 695s ok 8 - warned when using no-longer-supported keyword 695s ok 9 - prefixItems + schema-based items 695s ok 10 - schema-based items + additionalItems, failure case 695s ok 11 - warned when using no-longer-supported keyword 695s ok 12 - schema-based items + additionalItems, passing case 695s ok 13 - warned when using no-longer-supported keyword 695s 1..13 695s ok 9 - prefixItems, items and additionalItems 695s 1..9 695s ok 697s t/strict.t .............................. 697s ok 1 - strict defaults to false 697s ok 2 - by default, unknown keywords are allowed 697s ok 3 - strict mode disallows unknown keywords during evaluation via a config override 697s ok 4 - strict mode disallows unknown keywords during evaluation, even if the document was already traversed 697s ok 5 - strict mode disallows unknown keywords during traverse 697s 1..5 697s ok 699s t/stringy-numbers.t ..................... 699s # stringy_numbers = 0 699s ok 1 - strings cannot be used in place of numbers in schema for multipleOf 699s ok 2 - strings cannot be used in place of numbers in schema for maximum 699s ok 3 - strings cannot be used in place of numbers in schema for exclusiveMaximum 699s ok 4 - strings cannot be used in place of numbers in schema for minimum 699s ok 5 - strings cannot be used in place of numbers in schema for exclusiveMinimum 699s ok 6 - strings that do not look like numbers are never valid as numbers 699s ok 7 - by default "type": "string" does not accept numbers 699s ok 8 - real numbers are always evaluated 699s ok 9 - by default, stringy numbers are not evaluated by numeric keywords 699s ok 10 - data was not mutated 699s ok 11 - by default, stringy numbers are not the same as numbers using comparison keywords 699s ok 12 - data was not mutated 699s # stringy_numbers = 1 699s ok 13 - strings cannot be used in place of numbers in schema for multipleOf 699s ok 14 - strings cannot be used in place of numbers in schema for maximum 699s ok 15 - strings cannot be used in place of numbers in schema for exclusiveMaximum 699s ok 16 - strings cannot be used in place of numbers in schema for minimum 699s ok 17 - strings cannot be used in place of numbers in schema for exclusiveMinimum 699s ok 18 - strings that do not look like numbers are never valid as numbers 699s ok 19 - using stringy numbers, numeric strings are treated as numbers but are still not always integers 699s ok 20 - real numbers are always evaluated 699s ok 21 - with the config enabled, stringy numbers are treated as numbers by numeric keywords 699s ok 22 - data was not mutated 699s ok 23 - with the config enabled, stringy numbers are the same as numbers using comparison keywords 699s ok 24 - data was not mutated 699s 1..24 699s ok 701s t/traverse.t ............................ 701s # Subtest: traversal with callbacks 701s ok 1 - errors encountered during traversal are returned 701s ok 2 - callback for erroneous keyword was not called 701s ok 3 - extracted all the real $refs out of the schema, with locations and canonical targets 701s ok 4 - identified all subschemas 701s 1..4 701s ok 1 - traversal with callbacks 701s # Subtest: errors when parsing $schema keyword 701s ok 1 - $schema is not a string 701s ok 2 - $schema is not a URI 701s 1..2 701s ok 2 - errors when parsing $schema keyword 701s # Subtest: default metaschema 701s ok 1 - dialect is properly determined 701s ok 2 - error within $defs is found, showing both Core and Applicator vocabularies are used 701s 1..2 701s ok 3 - default metaschema 701s # Subtest: traversing a dialect with different core keywords 701s ok 1 - dialect changes at root, with $id - dialect is switched in time to get a new keyword list for the core vocabulary 701s ok 2 - no errors when parsing this schema 701s ok 3 - switched dialect in time to extract all identifiers, from root and definition 701s ok 4 - dialect changes at root, no $id - dialect is switched in time to get a new keyword list for the core vocabulary 701s ok 5 - dialect changes below root - dialect is switched in time to get a new keyword list for the core vocabulary 701s 1..5 701s ok 4 - traversing a dialect with different core keywords 701s # Subtest: $schema without an $id, below the root 701s ok 1 - $schema cannot exist without an $id, or at the root 701s 1..1 701s ok 5 - $schema without an $id, below the root 701s # Subtest: traverse with overridden metaschema_uri 701s ok 1 - metaschema_uri is overridden with a bad schema: same errors are returned 701s ok 2 - metaschema_uri is overridden with a bad schema: errors contain the right locations 701s ok 3 - metaschema_uri is overridden with a bad schema and there is a traversal path: errors contain the right locations 701s ok 4 - determined vocabularies to use for this schema 701s 1..4 701s ok 6 - traverse with overridden metaschema_uri 701s # Subtest: start traversing below the document root 701s ok 1 - identified the overridden location of all errors during traverse 701s ok 2 - identifiers are correctly extracted when traversing below the document root 701s 1..2 701s ok 7 - start traversing below the document root 701s 1..7 701s ok 711s t/type.t ................................ 711s # Subtest: inflated data, type: array 711s ok 1 - is_type("array", []) is true 711s ok 2 - get_type([]) = array 711s ok 3 - is_type("boolean", []) is false 711s ok 4 - is_type("integer", []) is false 711s ok 5 - is_type("null", []) is false 711s ok 6 - is_type("number", []) is false 711s ok 7 - is_type("object", []) is false 711s ok 8 - is_type("string", []) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("array", [1]) is true 711s ok 11 - get_type([1]) = array 711s ok 12 - is_type("boolean", [1]) is false 711s ok 13 - is_type("integer", [1]) is false 711s ok 14 - is_type("null", [1]) is false 711s ok 15 - is_type("number", [1]) is false 711s ok 16 - is_type("object", [1]) is false 711s ok 17 - is_type("string", [1]) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s 1..18 711s ok 1 - inflated data, type: array 711s # Subtest: inflated data, type: boolean 711s ok 1 - is_type("boolean", false) is true 711s ok 2 - get_type(false) = boolean 711s ok 3 - is_type("array", false) is false 711s ok 4 - is_type("integer", false) is false 711s ok 5 - is_type("null", false) is false 711s ok 6 - is_type("number", false) is false 711s ok 7 - is_type("object", false) is false 711s ok 8 - is_type("string", false) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("boolean", true) is true 711s ok 11 - get_type(true) = boolean 711s ok 12 - is_type("array", true) is false 711s ok 13 - is_type("integer", true) is false 711s ok 14 - is_type("null", true) is false 711s ok 15 - is_type("number", true) is false 711s ok 16 - is_type("object", true) is false 711s ok 17 - is_type("string", true) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s 1..18 711s ok 2 - inflated data, type: boolean 711s # Subtest: inflated data, type: integer 711s ok 1 - is_type("integer", 0) is true 711s ok 2 - is_type("number", 0) is true 711s ok 3 - get_type(0) = integer 711s ok 4 - is_type("array", 0) is false 711s ok 5 - is_type("boolean", 0) is false 711s ok 6 - is_type("null", 0) is false 711s ok 7 - is_type("object", 0) is false 711s ok 8 - is_type("string", 0) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("integer", -1) is true 711s ok 11 - is_type("number", -1) is true 711s ok 12 - get_type(-1) = integer 711s ok 13 - is_type("array", -1) is false 711s ok 14 - is_type("boolean", -1) is false 711s ok 15 - is_type("null", -1) is false 711s ok 16 - is_type("object", -1) is false 711s ok 17 - is_type("string", -1) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s ok 19 - is_type("integer", 2) is true 711s ok 20 - is_type("number", 2) is true 711s ok 21 - get_type(2) = integer 711s ok 22 - is_type("array", 2) is false 711s ok 23 - is_type("boolean", 2) is false 711s ok 24 - is_type("null", 2) is false 711s ok 25 - is_type("object", 2) is false 711s ok 26 - is_type("string", 2) is false 711s ok 27 - data is not tampered with while it is tested (not dualvar) 711s ok 28 - is_type("integer", 2.0) is true 711s ok 29 - is_type("number", 2.0) is true 711s ok 30 - get_type(2.0) = integer 711s ok 31 - is_type("array", 2.0) is false 711s ok 32 - is_type("boolean", 2.0) is false 711s ok 33 - is_type("null", 2.0) is false 711s ok 34 - is_type("object", 2.0) is false 711s ok 35 - is_type("string", 2.0) is false 711s ok 36 - data is not tampered with while it is tested (not dualvar) 711s ok 37 - is_type("integer", 2147483647) is true 711s ok 38 - is_type("number", 2147483647) is true 711s ok 39 - get_type(2147483647) = integer 711s ok 40 - is_type("array", 2147483647) is false 711s ok 41 - is_type("boolean", 2147483647) is false 711s ok 42 - is_type("null", 2147483647) is false 711s ok 43 - is_type("object", 2147483647) is false 711s ok 44 - is_type("string", 2147483647) is false 711s ok 45 - data is not tampered with while it is tested (not dualvar) 711s ok 46 - is_type("integer", 2147483648.0) is true 711s ok 47 - is_type("number", 2147483648.0) is true 711s ok 48 - get_type(2147483648.0) = integer 711s ok 49 - is_type("array", 2147483648.0) is false 711s ok 50 - is_type("boolean", 2147483648.0) is false 711s ok 51 - is_type("null", 2147483648.0) is false 711s ok 52 - is_type("object", 2147483648.0) is false 711s ok 53 - is_type("string", 2147483648.0) is false 711s ok 54 - data is not tampered with while it is tested (not dualvar) 711s ok 55 - is_type("integer", 9.22337203685478e+18) is true 711s ok 56 - is_type("number", 9.22337203685478e+18) is true 711s ok 57 - get_type(9.22337203685478e+18) = integer 711s ok 58 - is_type("array", 9.22337203685478e+18) is false 711s ok 59 - is_type("boolean", 9.22337203685478e+18) is false 711s ok 60 - is_type("null", 9.22337203685478e+18) is false 711s ok 61 - is_type("object", 9.22337203685478e+18) is false 711s ok 62 - is_type("string", 9.22337203685478e+18) is false 711s ok 63 - data is not tampered with while it is tested (not dualvar) 711s ok 64 - is_type("integer", 9.22337203685478e+18) is true 711s ok 65 - is_type("number", 9.22337203685478e+18) is true 711s ok 66 - get_type(9.22337203685478e+18) = integer 711s ok 67 - is_type("array", 9.22337203685478e+18) is false 711s ok 68 - is_type("boolean", 9.22337203685478e+18) is false 711s ok 69 - is_type("null", 9.22337203685478e+18) is false 711s ok 70 - is_type("object", 9.22337203685478e+18) is false 711s ok 71 - is_type("string", 9.22337203685478e+18) is false 711s ok 72 - data is not tampered with while it is tested (not dualvar) 711s ok 73 - is_type("integer", 1.84467440737096e+19) is true 711s ok 74 - is_type("number", 1.84467440737096e+19) is true 711s ok 75 - get_type(1.84467440737096e+19) = integer 711s ok 76 - is_type("array", 1.84467440737096e+19) is false 711s ok 77 - is_type("boolean", 1.84467440737096e+19) is false 711s ok 78 - is_type("null", 1.84467440737096e+19) is false 711s ok 79 - is_type("object", 1.84467440737096e+19) is false 711s ok 80 - is_type("string", 1.84467440737096e+19) is false 711s ok 81 - data is not tampered with while it is tested (not dualvar) 711s ok 82 - is_type("integer", 3.68934881474191e+19) is true 711s ok 83 - is_type("number", 3.68934881474191e+19) is true 711s ok 84 - get_type(3.68934881474191e+19) = integer 711s ok 85 - is_type("array", 3.68934881474191e+19) is false 711s ok 86 - is_type("boolean", 3.68934881474191e+19) is false 711s ok 87 - is_type("null", 3.68934881474191e+19) is false 711s ok 88 - is_type("object", 3.68934881474191e+19) is false 711s ok 89 - is_type("string", 3.68934881474191e+19) is false 711s ok 90 - data is not tampered with while it is tested (not dualvar) 711s ok 91 - is_type("integer", 1000000000000000) is true 711s ok 92 - is_type("number", 1000000000000000) is true 711s ok 93 - get_type(1000000000000000) = integer 711s ok 94 - is_type("array", 1000000000000000) is false 711s ok 95 - is_type("boolean", 1000000000000000) is false 711s ok 96 - is_type("null", 1000000000000000) is false 711s ok 97 - is_type("object", 1000000000000000) is false 711s ok 98 - is_type("string", 1000000000000000) is false 711s ok 99 - data is not tampered with while it is tested (not dualvar) 711s ok 100 - is_type("integer", Math::BigInt->new('100000000000000000000')) is true 711s ok 101 - is_type("number", Math::BigInt->new('100000000000000000000')) is true 711s ok 102 - get_type(Math::BigInt->new('100000000000000000000')) = integer 711s ok 103 - is_type("array", Math::BigInt->new('100000000000000000000')) is false 711s ok 104 - is_type("boolean", Math::BigInt->new('100000000000000000000')) is false 711s ok 105 - is_type("null", Math::BigInt->new('100000000000000000000')) is false 711s ok 106 - is_type("object", Math::BigInt->new('100000000000000000000')) is false 711s ok 107 - is_type("string", Math::BigInt->new('100000000000000000000')) is false 711s ok 108 - data is not tampered with while it is tested (not dualvar) 711s 1..108 711s ok 3 - inflated data, type: integer 711s # Subtest: inflated data, type: null 711s ok 1 - is_type("null", null) is true 711s ok 2 - get_type(null) = null 711s ok 3 - is_type("array", null) is false 711s ok 4 - is_type("boolean", null) is false 711s ok 5 - is_type("integer", null) is false 711s ok 6 - is_type("number", null) is false 711s ok 7 - is_type("object", null) is false 711s ok 8 - is_type("string", null) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s 1..9 711s ok 4 - inflated data, type: null 711s # Subtest: inflated data, type: number 711s ok 1 - is_type("number", 3.1) is true 711s ok 2 - get_type(3.1) = number 711s ok 3 - is_type("array", 3.1) is false 711s ok 4 - is_type("boolean", 3.1) is false 711s ok 5 - is_type("integer", 3.1) is false 711s ok 6 - is_type("null", 3.1) is false 711s ok 7 - is_type("object", 3.1) is false 711s ok 8 - is_type("string", 3.1) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("number", 12345678901.2) is true 711s ok 11 - get_type(12345678901.2) = number 711s ok 12 - is_type("array", 12345678901.2) is false 711s ok 13 - is_type("boolean", 12345678901.2) is false 711s ok 14 - is_type("integer", 12345678901.2) is false 711s ok 15 - is_type("null", 12345678901.2) is false 711s ok 16 - is_type("object", 12345678901.2) is false 711s ok 17 - is_type("string", 12345678901.2) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s ok 19 - is_type("number", Math::BigFloat->new('0.123')) is true 711s ok 20 - get_type(Math::BigFloat->new('0.123')) = number 711s ok 21 - is_type("array", Math::BigFloat->new('0.123')) is false 711s ok 22 - is_type("boolean", Math::BigFloat->new('0.123')) is false 711s ok 23 - is_type("integer", Math::BigFloat->new('0.123')) is false 711s ok 24 - is_type("null", Math::BigFloat->new('0.123')) is false 711s ok 25 - is_type("object", Math::BigFloat->new('0.123')) is false 711s ok 26 - is_type("string", Math::BigFloat->new('0.123')) is false 711s ok 27 - data is not tampered with while it is tested (not dualvar) 711s 1..27 711s ok 5 - inflated data, type: number 711s # Subtest: inflated data, type: object 711s ok 1 - is_type("object", {}) is true 711s ok 2 - get_type({}) = object 711s ok 3 - is_type("array", {}) is false 711s ok 4 - is_type("boolean", {}) is false 711s ok 5 - is_type("integer", {}) is false 711s ok 6 - is_type("null", {}) is false 711s ok 7 - is_type("number", {}) is false 711s ok 8 - is_type("string", {}) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("object", {"a":1}) is true 711s ok 11 - get_type({"a":1}) = object 711s ok 12 - is_type("array", {"a":1}) is false 711s ok 13 - is_type("boolean", {"a":1}) is false 711s ok 14 - is_type("integer", {"a":1}) is false 711s ok 15 - is_type("null", {"a":1}) is false 711s ok 16 - is_type("number", {"a":1}) is false 711s ok 17 - is_type("string", {"a":1}) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s 1..18 711s ok 6 - inflated data, type: object 711s # Subtest: inflated data, type: string 711s ok 1 - is_type("string", "") is true 711s ok 2 - get_type("") = string 711s ok 3 - is_type("array", "") is false 711s ok 4 - is_type("boolean", "") is false 711s ok 5 - is_type("integer", "") is false 711s ok 6 - is_type("null", "") is false 711s ok 7 - is_type("number", "") is false 711s ok 8 - is_type("object", "") is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("string", "0") is true 711s ok 11 - get_type("0") = string 711s ok 12 - is_type("array", "0") is false 711s ok 13 - is_type("boolean", "0") is false 711s ok 14 - is_type("integer", "0") is false 711s ok 15 - is_type("null", "0") is false 711s ok 16 - is_type("number", "0") is false 711s ok 17 - is_type("object", "0") is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s ok 19 - is_type("string", "-1") is true 711s ok 20 - get_type("-1") = string 711s ok 21 - is_type("array", "-1") is false 711s ok 22 - is_type("boolean", "-1") is false 711s ok 23 - is_type("integer", "-1") is false 711s ok 24 - is_type("null", "-1") is false 711s ok 25 - is_type("number", "-1") is false 711s ok 26 - is_type("object", "-1") is false 711s ok 27 - data is not tampered with while it is tested (not dualvar) 711s ok 28 - is_type("string", "2") is true 711s ok 29 - get_type("2") = string 711s ok 30 - is_type("array", "2") is false 711s ok 31 - is_type("boolean", "2") is false 711s ok 32 - is_type("integer", "2") is false 711s ok 33 - is_type("null", "2") is false 711s ok 34 - is_type("number", "2") is false 711s ok 35 - is_type("object", "2") is false 711s ok 36 - data is not tampered with while it is tested (not dualvar) 711s ok 37 - is_type("string", "2.0") is true 711s ok 38 - get_type("2.0") = string 711s ok 39 - is_type("array", "2.0") is false 711s ok 40 - is_type("boolean", "2.0") is false 711s ok 41 - is_type("integer", "2.0") is false 711s ok 42 - is_type("null", "2.0") is false 711s ok 43 - is_type("number", "2.0") is false 711s ok 44 - is_type("object", "2.0") is false 711s ok 45 - data is not tampered with while it is tested (not dualvar) 711s ok 46 - is_type("string", "3.1") is true 711s ok 47 - get_type("3.1") = string 711s ok 48 - is_type("array", "3.1") is false 711s ok 49 - is_type("boolean", "3.1") is false 711s ok 50 - is_type("integer", "3.1") is false 711s ok 51 - is_type("null", "3.1") is false 711s ok 52 - is_type("number", "3.1") is false 711s ok 53 - is_type("object", "3.1") is false 711s ok 54 - data is not tampered with while it is tested (not dualvar) 711s ok 55 - is_type("string", "école") is true 711s ok 56 - get_type("école") = string 711s ok 57 - is_type("array", "école") is false 711s ok 58 - is_type("boolean", "école") is false 711s ok 59 - is_type("integer", "école") is false 711s ok 60 - is_type("null", "école") is false 711s ok 61 - is_type("number", "école") is false 711s ok 62 - is_type("object", "école") is false 711s ok 63 - data is not tampered with while it is tested (not dualvar) 711s ok 64 - is_type("string", "ಠ_ಠ") is true 711s ok 65 - get_type("ಠ_ಠ") = string 711s ok 66 - is_type("array", "ಠ_ಠ") is false 711s ok 67 - is_type("boolean", "ಠ_ಠ") is false 711s ok 68 - is_type("integer", "ಠ_ಠ") is false 711s ok 69 - is_type("null", "ಠ_ಠ") is false 711s ok 70 - is_type("number", "ಠ_ಠ") is false 711s ok 71 - is_type("object", "ಠ_ಠ") is false 711s ok 72 - data is not tampered with while it is tested (not dualvar) 711s 1..72 711s ok 7 - inflated data, type: string 711s # Subtest: JSON-encoded data, type: array 711s ok 1 - is_type("array", []) is true 711s ok 2 - get_type([]) = array 711s ok 3 - is_type("boolean", []) is false 711s ok 4 - is_type("integer", []) is false 711s ok 5 - is_type("null", []) is false 711s ok 6 - is_type("number", []) is false 711s ok 7 - is_type("object", []) is false 711s ok 8 - is_type("string", []) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("array", [1]) is true 711s ok 11 - get_type([1]) = array 711s ok 12 - is_type("boolean", [1]) is false 711s ok 13 - is_type("integer", [1]) is false 711s ok 14 - is_type("null", [1]) is false 711s ok 15 - is_type("number", [1]) is false 711s ok 16 - is_type("object", [1]) is false 711s ok 17 - is_type("string", [1]) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s 1..18 711s ok 8 - JSON-encoded data, type: array 711s # Subtest: JSON-encoded data, type: boolean 711s ok 1 - is_type("boolean", false) is true 711s ok 2 - get_type(false) = boolean 711s ok 3 - is_type("array", false) is false 711s ok 4 - is_type("integer", false) is false 711s ok 5 - is_type("null", false) is false 711s ok 6 - is_type("number", false) is false 711s ok 7 - is_type("object", false) is false 711s ok 8 - is_type("string", false) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("boolean", true) is true 711s ok 11 - get_type(true) = boolean 711s ok 12 - is_type("array", true) is false 711s ok 13 - is_type("integer", true) is false 711s ok 14 - is_type("null", true) is false 711s ok 15 - is_type("number", true) is false 711s ok 16 - is_type("object", true) is false 711s ok 17 - is_type("string", true) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s 1..18 711s ok 9 - JSON-encoded data, type: boolean 711s # Subtest: JSON-encoded data, type: integer 711s ok 1 - is_type("integer", 0) is true 711s ok 2 - is_type("number", 0) is true 711s ok 3 - get_type(0) = integer 711s ok 4 - is_type("array", 0) is false 711s ok 5 - is_type("boolean", 0) is false 711s ok 6 - is_type("null", 0) is false 711s ok 7 - is_type("object", 0) is false 711s ok 8 - is_type("string", 0) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("integer", -1) is true 711s ok 11 - is_type("number", -1) is true 711s ok 12 - get_type(-1) = integer 711s ok 13 - is_type("array", -1) is false 711s ok 14 - is_type("boolean", -1) is false 711s ok 15 - is_type("null", -1) is false 711s ok 16 - is_type("object", -1) is false 711s ok 17 - is_type("string", -1) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s ok 19 - is_type("integer", Math::BigFloat->new('2')) is true 711s ok 20 - is_type("number", Math::BigFloat->new('2')) is true 711s ok 21 - get_type(Math::BigFloat->new('2')) = integer 711s ok 22 - is_type("array", Math::BigFloat->new('2')) is false 711s ok 23 - is_type("boolean", Math::BigFloat->new('2')) is false 711s ok 24 - is_type("null", Math::BigFloat->new('2')) is false 711s ok 25 - is_type("object", Math::BigFloat->new('2')) is false 711s ok 26 - is_type("string", Math::BigFloat->new('2')) is false 711s ok 27 - data is not tampered with while it is tested (not dualvar) 711s ok 28 - is_type("integer", 2147483647) is true 711s ok 29 - is_type("number", 2147483647) is true 711s ok 30 - get_type(2147483647) = integer 711s ok 31 - is_type("array", 2147483647) is false 711s ok 32 - is_type("boolean", 2147483647) is false 711s ok 33 - is_type("null", 2147483647) is false 711s ok 34 - is_type("object", 2147483647) is false 711s ok 35 - is_type("string", 2147483647) is false 711s ok 36 - data is not tampered with while it is tested (not dualvar) 711s ok 37 - is_type("integer", 2147483648) is true 711s ok 38 - is_type("number", 2147483648) is true 711s ok 39 - get_type(2147483648) = integer 711s ok 40 - is_type("array", 2147483648) is false 711s ok 41 - is_type("boolean", 2147483648) is false 711s ok 42 - is_type("null", 2147483648) is false 711s ok 43 - is_type("object", 2147483648) is false 711s ok 44 - is_type("string", 2147483648) is false 711s ok 45 - data is not tampered with while it is tested (not dualvar) 711s ok 46 - is_type("integer", Math::BigFloat->new('9223372036854780000')) is true 711s ok 47 - is_type("number", Math::BigFloat->new('9223372036854780000')) is true 711s ok 48 - get_type(Math::BigFloat->new('9223372036854780000')) = integer 711s ok 49 - is_type("array", Math::BigFloat->new('9223372036854780000')) is false 711s ok 50 - is_type("boolean", Math::BigFloat->new('9223372036854780000')) is false 711s ok 51 - is_type("null", Math::BigFloat->new('9223372036854780000')) is false 711s ok 52 - is_type("object", Math::BigFloat->new('9223372036854780000')) is false 711s ok 53 - is_type("string", Math::BigFloat->new('9223372036854780000')) is false 711s ok 54 - data is not tampered with while it is tested (not dualvar) 711s ok 55 - is_type("integer", Math::BigFloat->new('9223372036854780000')) is true 711s ok 56 - is_type("number", Math::BigFloat->new('9223372036854780000')) is true 711s ok 57 - get_type(Math::BigFloat->new('9223372036854780000')) = integer 711s ok 58 - is_type("array", Math::BigFloat->new('9223372036854780000')) is false 711s ok 59 - is_type("boolean", Math::BigFloat->new('9223372036854780000')) is false 711s ok 60 - is_type("null", Math::BigFloat->new('9223372036854780000')) is false 711s ok 61 - is_type("object", Math::BigFloat->new('9223372036854780000')) is false 711s ok 62 - is_type("string", Math::BigFloat->new('9223372036854780000')) is false 711s ok 63 - data is not tampered with while it is tested (not dualvar) 711s ok 64 - is_type("integer", Math::BigFloat->new('18446744073709600000')) is true 711s ok 65 - is_type("number", Math::BigFloat->new('18446744073709600000')) is true 711s ok 66 - get_type(Math::BigFloat->new('18446744073709600000')) = integer 711s ok 67 - is_type("array", Math::BigFloat->new('18446744073709600000')) is false 711s ok 68 - is_type("boolean", Math::BigFloat->new('18446744073709600000')) is false 711s ok 69 - is_type("null", Math::BigFloat->new('18446744073709600000')) is false 711s ok 70 - is_type("object", Math::BigFloat->new('18446744073709600000')) is false 711s ok 71 - is_type("string", Math::BigFloat->new('18446744073709600000')) is false 711s ok 72 - data is not tampered with while it is tested (not dualvar) 711s ok 73 - is_type("integer", Math::BigFloat->new('36893488147419100000')) is true 711s ok 74 - is_type("number", Math::BigFloat->new('36893488147419100000')) is true 711s ok 75 - get_type(Math::BigFloat->new('36893488147419100000')) = integer 711s ok 76 - is_type("array", Math::BigFloat->new('36893488147419100000')) is false 711s ok 77 - is_type("boolean", Math::BigFloat->new('36893488147419100000')) is false 711s ok 78 - is_type("null", Math::BigFloat->new('36893488147419100000')) is false 711s ok 79 - is_type("object", Math::BigFloat->new('36893488147419100000')) is false 711s ok 80 - is_type("string", Math::BigFloat->new('36893488147419100000')) is false 711s ok 81 - data is not tampered with while it is tested (not dualvar) 711s ok 82 - is_type("integer", 1000000000000000) is true 711s ok 83 - is_type("number", 1000000000000000) is true 711s ok 84 - get_type(1000000000000000) = integer 711s ok 85 - is_type("array", 1000000000000000) is false 711s ok 86 - is_type("boolean", 1000000000000000) is false 711s ok 87 - is_type("null", 1000000000000000) is false 711s ok 88 - is_type("object", 1000000000000000) is false 711s ok 89 - is_type("string", 1000000000000000) is false 711s ok 90 - data is not tampered with while it is tested (not dualvar) 711s 1..90 711s ok 10 - JSON-encoded data, type: integer 711s # Subtest: JSON-encoded data, type: null 711s ok 1 - is_type("null", null) is true 711s ok 2 - get_type(null) = null 711s ok 3 - is_type("array", null) is false 711s ok 4 - is_type("boolean", null) is false 711s ok 5 - is_type("integer", null) is false 711s ok 6 - is_type("number", null) is false 711s ok 7 - is_type("object", null) is false 711s ok 8 - is_type("string", null) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s 1..9 711s ok 11 - JSON-encoded data, type: null 711s # Subtest: JSON-encoded data, type: number 711s ok 1 - is_type("number", Math::BigFloat->new('3.1')) is true 711s ok 2 - get_type(Math::BigFloat->new('3.1')) = number 711s ok 3 - is_type("array", Math::BigFloat->new('3.1')) is false 711s ok 4 - is_type("boolean", Math::BigFloat->new('3.1')) is false 711s ok 5 - is_type("integer", Math::BigFloat->new('3.1')) is false 711s ok 6 - is_type("null", Math::BigFloat->new('3.1')) is false 711s ok 7 - is_type("object", Math::BigFloat->new('3.1')) is false 711s ok 8 - is_type("string", Math::BigFloat->new('3.1')) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("number", Math::BigFloat->new('12345678901.2')) is true 711s ok 11 - get_type(Math::BigFloat->new('12345678901.2')) = number 711s ok 12 - is_type("array", Math::BigFloat->new('12345678901.2')) is false 711s ok 13 - is_type("boolean", Math::BigFloat->new('12345678901.2')) is false 711s ok 14 - is_type("integer", Math::BigFloat->new('12345678901.2')) is false 711s ok 15 - is_type("null", Math::BigFloat->new('12345678901.2')) is false 711s ok 16 - is_type("object", Math::BigFloat->new('12345678901.2')) is false 711s ok 17 - is_type("string", Math::BigFloat->new('12345678901.2')) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s 1..18 711s ok 12 - JSON-encoded data, type: number 711s # Subtest: JSON-encoded data, type: object 711s ok 1 - is_type("object", {}) is true 711s ok 2 - get_type({}) = object 711s ok 3 - is_type("array", {}) is false 711s ok 4 - is_type("boolean", {}) is false 711s ok 5 - is_type("integer", {}) is false 711s ok 6 - is_type("null", {}) is false 711s ok 7 - is_type("number", {}) is false 711s ok 8 - is_type("string", {}) is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("object", {"a":1}) is true 711s ok 11 - get_type({"a":1}) = object 711s ok 12 - is_type("array", {"a":1}) is false 711s ok 13 - is_type("boolean", {"a":1}) is false 711s ok 14 - is_type("integer", {"a":1}) is false 711s ok 15 - is_type("null", {"a":1}) is false 711s ok 16 - is_type("number", {"a":1}) is false 711s ok 17 - is_type("string", {"a":1}) is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s 1..18 711s ok 13 - JSON-encoded data, type: object 711s # Subtest: JSON-encoded data, type: string 711s ok 1 - is_type("string", "") is true 711s ok 2 - get_type("") = string 711s ok 3 - is_type("array", "") is false 711s ok 4 - is_type("boolean", "") is false 711s ok 5 - is_type("integer", "") is false 711s ok 6 - is_type("null", "") is false 711s ok 7 - is_type("number", "") is false 711s ok 8 - is_type("object", "") is false 711s ok 9 - data is not tampered with while it is tested (not dualvar) 711s ok 10 - is_type("string", "0") is true 711s ok 11 - get_type("0") = string 711s ok 12 - is_type("array", "0") is false 711s ok 13 - is_type("boolean", "0") is false 711s ok 14 - is_type("integer", "0") is false 711s ok 15 - is_type("null", "0") is false 711s ok 16 - is_type("number", "0") is false 711s ok 17 - is_type("object", "0") is false 711s ok 18 - data is not tampered with while it is tested (not dualvar) 711s ok 19 - is_type("string", "-1") is true 711s ok 20 - get_type("-1") = string 711s ok 21 - is_type("array", "-1") is false 711s ok 22 - is_type("boolean", "-1") is false 711s ok 23 - is_type("integer", "-1") is false 711s ok 24 - is_type("null", "-1") is false 711s ok 25 - is_type("number", "-1") is false 711s ok 26 - is_type("object", "-1") is false 711s ok 27 - data is not tampered with while it is tested (not dualvar) 711s ok 28 - is_type("string", "2.0") is true 711s ok 29 - get_type("2.0") = string 711s ok 30 - is_type("array", "2.0") is false 711s ok 31 - is_type("boolean", "2.0") is false 711s ok 32 - is_type("integer", "2.0") is false 711s ok 33 - is_type("null", "2.0") is false 711s ok 34 - is_type("number", "2.0") is false 711s ok 35 - is_type("object", "2.0") is false 711s ok 36 - data is not tampered with while it is tested (not dualvar) 711s ok 37 - is_type("string", "3.1") is true 711s ok 38 - get_type("3.1") = string 711s ok 39 - is_type("array", "3.1") is false 711s ok 40 - is_type("boolean", "3.1") is false 711s ok 41 - is_type("integer", "3.1") is false 711s ok 42 - is_type("null", "3.1") is false 711s ok 43 - is_type("number", "3.1") is false 711s ok 44 - is_type("object", "3.1") is false 711s ok 45 - data is not tampered with while it is tested (not dualvar) 711s ok 46 - is_type("string", "école") is true 711s ok 47 - get_type("école") = string 711s ok 48 - is_type("array", "école") is false 711s ok 49 - is_type("boolean", "école") is false 711s ok 50 - is_type("integer", "école") is false 711s ok 51 - is_type("null", "école") is false 711s ok 52 - is_type("number", "école") is false 711s ok 53 - is_type("object", "école") is false 711s ok 54 - data is not tampered with while it is tested (not dualvar) 711s ok 55 - is_type("string", "ಠ_ಠ") is true 711s ok 56 - get_type("ಠ_ಠ") = string 711s ok 57 - is_type("array", "ಠ_ಠ") is false 711s ok 58 - is_type("boolean", "ಠ_ಠ") is false 711s ok 59 - is_type("integer", "ಠ_ಠ") is false 711s ok 60 - is_type("null", "ಠ_ಠ") is false 711s ok 61 - is_type("number", "ಠ_ಠ") is false 711s ok 62 - is_type("object", "ಠ_ಠ") is false 711s ok 63 - data is not tampered with while it is tested (not dualvar) 711s 1..63 711s ok 14 - JSON-encoded data, type: string 711s # Subtest: type: integer 711s ok 1 - 1 is an integer 711s ok 2 - 2.0 is an integer 711s ok 3 - 9.22337203685478e+24 is an integer 711s ok 4 - Math::BigInt->new('9223372036854775800000008') is an integer 711s ok 5 - "1" is not an integer 711s ok 6 - "2.0" is not an integer 711s ok 7 - 3.1 is not an integer 711s ok 8 - "4.2" is not an integer 711s 1..8 711s ok 15 - type: integer 711s ok 16 - non-existent type does not result in exception 711s # Subtest: ambiguous types 711s ok 1 - dualvars are ambiguous 711s ok 2 # skip on perls >= 5.35.9, reading the string form of an integer value no longer sets the flag SVf_POK 711s 1..2 711s ok 17 - ambiguous types 711s # Subtest: is_type and get_type for references 711s ok 1 - reference to SCALAR type is reported without exception 711s ok 2 - value is a reference to SCALAR 711s ok 3 - value is not a null 711s ok 4 - value is not a object 711s ok 5 - value is not a array 711s ok 6 - value is not a boolean 711s ok 7 - value is not a string 711s ok 8 - value is not a number 711s ok 9 - value is not a integer 711s ok 10 - reference to REF type is reported without exception 711s ok 11 - value is a reference to REF 711s ok 12 - value is not a null 711s ok 13 - value is not a object 711s ok 14 - value is not a array 711s ok 15 - value is not a boolean 711s ok 16 - value is not a string 711s ok 17 - value is not a number 711s ok 18 - value is not a integer 711s ok 19 - reference to CODE type is reported without exception 711s ok 20 - value is a reference to CODE 711s ok 21 - value is not a null 711s ok 22 - value is not a object 711s ok 23 - value is not a array 711s ok 24 - value is not a boolean 711s ok 25 - value is not a string 711s ok 26 - value is not a number 711s ok 27 - value is not a integer 711s ok 28 - reference to GLOB type is reported without exception 711s ok 29 - value is a reference to GLOB 711s ok 30 - value is not a null 711s ok 31 - value is not a object 711s ok 32 - value is not a array 711s ok 33 - value is not a boolean 711s ok 34 - value is not a string 711s ok 35 - value is not a number 711s ok 36 - value is not a integer 711s ok 37 - reference to LVALUE type is reported without exception 711s ok 38 - value is a reference to LVALUE 711s ok 39 - value is not a null 711s ok 40 - value is not a object 711s ok 41 - value is not a array 711s ok 42 - value is not a boolean 711s ok 43 - value is not a string 711s ok 44 - value is not a number 711s ok 45 - value is not a integer 711s ok 46 - reference to VSTRING type is reported without exception 711s ok 47 - value is a reference to VSTRING 711s ok 48 - value is not a null 711s ok 49 - value is not a object 711s ok 50 - value is not a array 711s ok 51 - value is not a boolean 711s ok 52 - value is not a string 711s ok 53 - value is not a number 711s ok 54 - value is not a integer 711s ok 55 - Regexp type is reported without exception 711s ok 56 - value is a Regexp 711s ok 57 - value is not a null 711s ok 58 - value is not a object 711s ok 59 - value is not a array 711s ok 60 - value is not a boolean 711s ok 61 - value is not a string 711s ok 62 - value is not a number 711s ok 63 - value is not a integer 711s ok 64 - IO::File type is reported without exception 711s ok 65 - value is a IO::File 711s ok 66 - value is not a null 711s ok 67 - value is not a object 711s ok 68 - value is not a array 711s ok 69 - value is not a boolean 711s ok 70 - value is not a string 711s ok 71 - value is not a number 711s ok 72 - value is not a integer 711s ok 73 - Foo type is reported without exception 711s ok 74 - value is a Foo 711s ok 75 - value is not a null 711s ok 76 - value is not a object 711s ok 77 - value is not a array 711s ok 78 - value is not a boolean 711s ok 79 - value is not a string 711s ok 80 - value is not a number 711s ok 81 - value is not a integer 711s 1..81 711s ok 18 - is_type and get_type for references 711s 1..18 711s ok 713s t/unsupported-keywords.t ................ 713s # 713s # draft7 713s ok 1 - schema with "id" still validates in draft7 713s ok 2 - warned for "id" in draft7 713s ok 3 - schema with "definitions" validates in draft7 713s ok 4 - did not warn for "definitions" in draft7 713s ok 5 - schema with "dependencies" validates in draft7 713s ok 6 - did not warn for "dependencies" in draft7 713s # 713s # draft2019-09 713s ok 7 - schema with "id" still validates in draft2019-09 713s ok 8 - warned for "id" in draft2019-09 713s ok 9 - schema with "definitions" still validates in draft2019-09 713s ok 10 - warned for "definitions" in draft2019-09 713s ok 11 - schema with "dependencies" still validates in draft2019-09 713s ok 12 - warned for "dependencies" in draft2019-09 713s 1..12 713s ok 716s t/validate-schema.t ..................... 716s ok 1 - validate_schema on simple schema with no $schema keyword 716s ok 2 - validate_schema on schema with metaschema $schema keyword 716s ok 3 - validate_schema with custom metaschema 716s 1..3 716s ok 725s t/zzz-acceptance-draft2019-09-format.t .. 725s # AUTHOR_TESTING: 725s # AUTOMATED_TESTING: 1 725s # EXTENDED_TESTING: 725s # NO_TODO: 725s # TEST_DIR: 725s # NO_SHORT_CIRCUIT: 725s # 725s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2019-09/optional/format against draft2019-09... 725s # 725s ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date-time", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s # 725s ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 32 - date.json: "validation of date strings" - "a valid date string" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 60 - date.json: "validation of date strings" - "an invalid date string" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 64 - date.json: "validation of date strings" - "invalid month" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 65 - date.json: "validation of date strings" - "invalid month-day combination" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 67 - date.json: "validation of date strings" - "2020 is a leap year" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid date", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s # 725s ok 73 - duration.json: "validation of duration strings" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 74 - duration.json: "validation of duration strings" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 75 - duration.json: "validation of duration strings" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 76 - duration.json: "validation of duration strings" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 77 - duration.json: "validation of duration strings" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 78 - duration.json: "validation of duration strings" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 79 - duration.json: "validation of duration strings" - "a valid duration string" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 80 - duration.json: "validation of duration strings" - "an invalid duration string" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 81 - duration.json: "validation of duration strings" - "no elements present" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 82 - duration.json: "validation of duration strings" - "no time elements present" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 83 - duration.json: "validation of duration strings" - "no date or time elements present" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 84 - duration.json: "validation of duration strings" - "elements out of order" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 85 - duration.json: "validation of duration strings" - "missing time separator" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 86 - duration.json: "validation of duration strings" - "time element in the date position" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 87 - duration.json: "validation of duration strings" - "four years duration" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 88 - duration.json: "validation of duration strings" - "zero time, in seconds" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 89 - duration.json: "validation of duration strings" - "zero time, in days" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 90 - duration.json: "validation of duration strings" - "one month duration" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 91 - duration.json: "validation of duration strings" - "one minute duration" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 92 - duration.json: "validation of duration strings" - "one and a half days, in hours" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 93 - duration.json: "validation of duration strings" - "one and a half days, in days and hours" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 94 - duration.json: "validation of duration strings" - "two weeks" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 95 - duration.json: "validation of duration strings" - "weeks cannot be combined with other units" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 96 - duration.json: "validation of duration strings" - "invalid non-ASCII '২' (a Bengali 2)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 97 - duration.json: "validation of duration strings" - "element without unit" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid duration", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s # 725s ok 98 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 99 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 100 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 101 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 102 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 103 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 104 - email.json: "validation of e-mail addresses" - "a valid e-mail address" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 105 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 106 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 107 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 108 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 109 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 110 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 111 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 112 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s # 725s ok 113 - hostname.json: "validation of host names" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 114 - hostname.json: "validation of host names" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 115 - hostname.json: "validation of host names" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 116 - hostname.json: "validation of host names" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 117 - hostname.json: "validation of host names" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 118 - hostname.json: "validation of host names" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 119 - hostname.json: "validation of host names" - "a valid host name" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 120 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 121 - hostname.json: "validation of host names" - "a host name starting with an illegal character" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 122 - hostname.json: "validation of host names" - "a host name containing illegal characters" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 123 - hostname.json: "validation of host names" - "a host name with a component too long" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 124 - hostname.json: "validation of host names" - "starts with hyphen" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 125 - hostname.json: "validation of host names" - "ends with hyphen" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 126 - hostname.json: "validation of host names" - "starts with underscore" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 127 - hostname.json: "validation of host names" - "ends with underscore" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 128 - hostname.json: "validation of host names" - "contains underscore" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 129 - hostname.json: "validation of host names" - "maximum label length" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 130 - hostname.json: "validation of host names" - "exceeds maximum label length" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 131 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 132 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 133 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 134 - hostname.json: "validation of host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 135 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s # 725s ok 136 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 137 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 138 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 139 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 140 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 141 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 142 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 143 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 144 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 145 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-email", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s # 725s ok 146 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 147 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 148 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 149 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 150 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 151 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s 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" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s 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" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected false; got true 725s # { 725s # "valid": true 725s # } 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 156 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 157 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 158 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 160 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 161 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 163 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 164 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 165 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 170 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 171 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 172 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 173 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 174 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 175 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 176 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 177 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 178 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 179 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 180 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 181 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 182 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 183 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 185 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 186 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 187 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 188 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 192 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 193 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false # 725s 1..1 725s } 725s ok 194 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 195 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s 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" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 197 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 198 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 199 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 200 - idn-hostname.json: "validation of internationalized host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s ok 201 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected true; got false 725s # { 725s # "errors": [ 725s # { 725s # "error": "not a valid idn-hostname", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s 1..1 725s } 725s # 725s ok 202 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 203 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 204 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 205 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 206 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 207 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 208 - ipv4.json: "validation of IP addresses" - "a valid IP address" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 209 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 210 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 211 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 212 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 213 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 214 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 215 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 216 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 217 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv4", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s # 725s ok 218 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 219 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 220 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 221 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 222 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 223 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 224 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 225 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 226 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 227 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 228 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 229 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 230 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 231 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 232 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 233 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 234 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 235 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 236 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 237 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 238 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 239 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 240 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 241 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 242 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 243 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 244 - ipv6.json: "validation of IPv6 addresses" - "8 octets" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 245 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 246 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 247 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 248 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 249 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 250 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 251 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 252 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 253 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 254 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 255 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 256 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 257 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid ipv6", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s # 725s ok 258 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 259 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 260 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 261 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 262 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 263 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 264 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 265 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 266 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 267 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected false; got true 725s # { 725s # "valid": true 725s # } 725s 1..1 725s } 725s ok 268 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 269 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true # 725s 1..1 725s } 725s ok 270 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected false; got true 725s # { 725s # "valid": true 725s # } 725s 1..1 725s } 725s # 725s ok 271 - iri.json: "validation of IRIs" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 272 - iri.json: "validation of IRIs" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 273 - iri.json: "validation of IRIs" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 274 - iri.json: "validation of IRIs" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 275 - iri.json: "validation of IRIs" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 276 - iri.json: "validation of IRIs" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 277 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 278 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 279 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 280 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 281 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 282 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests" 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s not ok 1 - evaluation result is incorrect # 725s # Failed test (with amnesty) 'evaluation result is incorrect' 725s # at t/zzz-acceptance-draft2019-09-format.t line 65. 725s # expected false; got true 725s # { 725s # "valid": true 725s # } 725s 1..1 725s } 725s ok 283 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid iri", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid iri", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 284 - iri.json: "validation of IRIs" - "an invalid IRI" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid iri", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid iri", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 285 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid iri", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid iri", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s # 725s ok 286 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 287 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 288 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 289 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 290 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 291 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 292 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 293 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" { 725s # result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid json-pointer", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s # short-circuited result: { 725s # "errors": [ 725s # { 725s # "error": "not a valid json-pointer", 725s # "instanceLocation": "", 725s # "keywordLocation": "/format" 725s # } 725s # ], 725s # "valid": false 725s # } 725s ok 1 - test passes: data is valid: false 725s 1..1 725s } 725s ok 294 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 295 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 296 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 297 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 298 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 299 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 300 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 301 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 302 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 725s ok 303 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" { 725s # result: { 725s # "valid": true 725s # } 725s # short-circuited result: { 725s # "valid": true 725s # } 725s ok 1 - test passes: data is valid: true 725s 1..1 725s } 726s ok 304 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 305 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 306 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 307 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 308 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 309 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 310 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 311 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 312 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 313 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 314 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 315 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 316 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 317 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 318 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 319 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 320 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 321 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 322 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 323 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s # 726s ok 324 - regex.json: "validation of regular expressions" - "all string formats ignore integers" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 325 - regex.json: "validation of regular expressions" - "all string formats ignore floats" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 326 - regex.json: "validation of regular expressions" - "all string formats ignore objects" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 327 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 328 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 329 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 330 - regex.json: "validation of regular expressions" - "a valid regular expression" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 331 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid regex", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid regex", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s # 726s ok 332 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 333 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 334 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 335 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 336 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 337 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 338 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 339 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 340 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 341 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 342 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 343 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 344 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 345 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 346 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 347 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 348 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid relative-json-pointer", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 349 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s # 726s ok 350 - time.json: "validation of time strings" - "all string formats ignore integers" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 351 - time.json: "validation of time strings" - "all string formats ignore floats" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 352 - time.json: "validation of time strings" - "all string formats ignore objects" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 353 - time.json: "validation of time strings" - "all string formats ignore arrays" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 354 - time.json: "validation of time strings" - "all string formats ignore booleans" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 355 - time.json: "validation of time strings" - "all string formats ignore nulls" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 356 - time.json: "validation of time strings" - "a valid time string" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 357 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 358 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 359 - time.json: "validation of time strings" - "hour, minute, second must be two digits" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 360 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 361 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 362 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 363 - time.json: "validation of time strings" - "valid leap second, zero time-offset" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 364 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 365 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 366 - time.json: "validation of time strings" - "valid leap second, positive time-offset" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 367 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 368 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 369 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 370 - time.json: "validation of time strings" - "valid leap second, negative time-offset" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 371 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 372 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 373 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 374 - time.json: "validation of time strings" - "a valid time string with second fraction" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 375 - time.json: "validation of time strings" - "a valid time string with precise second fraction" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 376 - time.json: "validation of time strings" - "a valid time string with plus offset" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 377 - time.json: "validation of time strings" - "a valid time string with minus offset" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 378 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 379 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 380 - time.json: "validation of time strings" - "an invalid time string with invalid hour" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 381 - time.json: "validation of time strings" - "an invalid time string with invalid minute" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 382 - time.json: "validation of time strings" - "an invalid time string with invalid second" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 383 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 384 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 385 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 386 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 387 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 388 - time.json: "validation of time strings" - "an invalid offset indicator" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 389 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 390 - time.json: "validation of time strings" - "no time offset" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 391 - time.json: "validation of time strings" - "no time offset with second fraction" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 392 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 393 - time.json: "validation of time strings" - "offset not starting with plus or minus" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 394 - time.json: "validation of time strings" - "contains letters" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid time", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s # 726s ok 395 - unknown.json: "unknown format" - "unknown formats ignore integers" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 396 - unknown.json: "unknown format" - "unknown formats ignore floats" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 397 - unknown.json: "unknown format" - "unknown formats ignore objects" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 398 - unknown.json: "unknown format" - "unknown formats ignore arrays" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 399 - unknown.json: "unknown format" - "unknown formats ignore booleans" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 400 - unknown.json: "unknown format" - "unknown formats ignore nulls" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 401 - unknown.json: "unknown format" - "unknown formats ignore strings" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s # 726s ok 402 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 403 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 404 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 405 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 406 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 407 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 408 - uri-reference.json: "validation of URI References" - "a valid URI" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 409 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 410 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 411 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri-reference", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri-reference", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 412 - uri-reference.json: "validation of URI References" - "a valid URI Reference" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 413 - uri-reference.json: "validation of URI References" - "a valid URI fragment" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 414 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri-reference", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri-reference", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s # 726s ok 415 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s ok 416 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s ok 417 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s ok 418 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s ok 419 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s ok 420 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s ok 421 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s ok 422 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s not ok 1 - evaluation result is incorrect # 726s # Failed test (with amnesty) 'evaluation result is incorrect' 726s # at t/zzz-acceptance-draft2019-09-format.t line 65. 726s # expected false; got true 726s # { 726s # "valid": true 726s # } 726s 1..1 726s } 726s ok 423 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s ok 424 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true # 726s 1..1 726s } 726s # 726s ok 425 - uri.json: "validation of URIs" - "all string formats ignore integers" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 426 - uri.json: "validation of URIs" - "all string formats ignore floats" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 427 - uri.json: "validation of URIs" - "all string formats ignore objects" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 428 - uri.json: "validation of URIs" - "all string formats ignore arrays" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 429 - uri.json: "validation of URIs" - "all string formats ignore booleans" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 430 - uri.json: "validation of URIs" - "all string formats ignore nulls" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 431 - uri.json: "validation of URIs" - "a valid URL with anchor tag" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 432 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 433 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 434 - uri.json: "validation of URIs" - "a valid puny-coded URL " { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 435 - uri.json: "validation of URIs" - "a valid URL with many special characters" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 436 - uri.json: "validation of URIs" - "a valid URL based on IPv4" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 437 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 438 - uri.json: "validation of URIs" - "a valid URL for a simple text file" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 439 - uri.json: "validation of URIs" - "a valid URL " { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 440 - uri.json: "validation of URIs" - "a valid mailto URI" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 441 - uri.json: "validation of URIs" - "a valid newsgroup URI" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 442 - uri.json: "validation of URIs" - "a valid tel URI" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 443 - uri.json: "validation of URIs" - "a valid URN" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 444 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 445 - uri.json: "validation of URIs" - "an invalid relative URI Reference" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 446 - uri.json: "validation of URIs" - "an invalid URI" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 447 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 448 - uri.json: "validation of URIs" - "an invalid URI with spaces" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 449 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uri", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 450 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests" 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s not ok 1 - evaluation result is incorrect # 726s # Failed test (with amnesty) 'evaluation result is incorrect' 726s # at t/zzz-acceptance-draft2019-09-format.t line 65. 726s # expected false; got true 726s # { 726s # "valid": true 726s # } 726s 1..1 726s } 726s # 726s ok 451 - uuid.json: "uuid format" - "all string formats ignore integers" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 452 - uuid.json: "uuid format" - "all string formats ignore floats" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 453 - uuid.json: "uuid format" - "all string formats ignore objects" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 454 - uuid.json: "uuid format" - "all string formats ignore arrays" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 455 - uuid.json: "uuid format" - "all string formats ignore booleans" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 456 - uuid.json: "uuid format" - "all string formats ignore nulls" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 457 - uuid.json: "uuid format" - "all upper-case" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 458 - uuid.json: "uuid format" - "all lower-case" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 459 - uuid.json: "uuid format" - "mixed case" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 460 - uuid.json: "uuid format" - "all zeroes is valid" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 461 - uuid.json: "uuid format" - "wrong length" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 462 - uuid.json: "uuid format" - "missing section" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 463 - uuid.json: "uuid format" - "bad characters (not hex)" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 464 - uuid.json: "uuid format" - "no dashes" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 465 - uuid.json: "uuid format" - "too few dashes" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 466 - uuid.json: "uuid format" - "too many dashes" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 467 - uuid.json: "uuid format" - "dashes in the wrong spot" { 726s # result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s # short-circuited result: { 726s # "errors": [ 726s # { 726s # "error": "not a valid uuid", 726s # "instanceLocation": "", 726s # "keywordLocation": "/format" 726s # } 726s # ], 726s # "valid": false 726s # } 726s ok 1 - test passes: data is valid: false 726s 1..1 726s } 726s ok 468 - uuid.json: "uuid format" - "valid version 4" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 469 - uuid.json: "uuid format" - "valid version 5" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 470 - uuid.json: "uuid format" - "hypothetical version 6" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s ok 471 - uuid.json: "uuid format" - "hypothetical version 15" { 726s # result: { 726s # "valid": true 726s # } 726s # short-circuited result: { 726s # "valid": true 726s # } 726s ok 1 - test passes: data is valid: true 726s 1..1 726s } 726s # 726s # 726s # Results using Test::JSON::Schema::Acceptance 1.021 726s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 726s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 726s # specification version: draft2019-09 726s # using custom test directory: /optional/format 726s # optional tests included: yes 726s # 726s # filename pass todo-fail fail 726s # --------------------------------------------------------------- 726s # date-time.json 25 0 0 726s # date.json 47 0 0 726s # duration.json 25 0 0 726s # email.json 15 0 0 726s # hostname.json 18 5 0 726s # idn-email.json 10 0 0 726s # idn-hostname.json 35 21 0 726s # ipv4.json 16 0 0 726s # ipv6.json 40 0 0 726s # iri-reference.json 11 2 0 726s # iri.json 14 1 0 726s # json-pointer.json 38 0 0 726s # regex.json 8 0 0 726s # relative-json-pointer.json 18 0 0 726s # time.json 45 0 0 726s # unknown.json 7 0 0 726s # uri-reference.json 13 0 0 726s # uri-template.json 9 1 0 726s # uri.json 25 1 0 726s # uuid.json 21 0 0 726s # --------------------------------------------------------------- 726s # TOTAL 440 31 0 726s # 726s # Congratulations, all non-optional tests are passing! 726s # 726s ok 472 - no leaks in the main evaluator object 726s ok 473 - no leaks in the short-circuiting evaluator object 726s 1..473 726s ok 767s t/zzz-acceptance-draft2019-09.t ......... 767s # AUTHOR_TESTING: 767s # AUTOMATED_TESTING: 1 767s # EXTENDED_TESTING: 767s # NO_TODO: 767s # TEST_DIR: 767s # NO_SHORT_CIRCUIT: 767s # 767s # adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"... 767s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2019-09 against draft2019-09... 767s # 767s ok 1 - additionalItems.json: "additionalItems as schema" - "additional items match schema" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 2 - additionalItems.json: "additionalItems as schema" - "additional items do not match schema" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/3", 767s # "keywordLocation": "/additionalItems/type" 767s # }, 767s # { 767s # "error": "subschema is not valid against all additional items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalItems" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/3", 767s # "keywordLocation": "/additionalItems/type" 767s # }, 767s # { 767s # "error": "subschema is not valid against all additional items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalItems" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 3 - additionalItems.json: "when items is schema, additionalItems does nothing" - "valid with a array of type integers" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 4 - additionalItems.json: "when items is schema, additionalItems does nothing" - "invalid with a array of mixed types" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/1", 767s # "keywordLocation": "/items/type" 767s # }, 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/2", 767s # "keywordLocation": "/items/type" 767s # }, 767s # { 767s # "error": "subschema is not valid against all items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/items" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/1", 767s # "keywordLocation": "/items/type" 767s # }, 767s # { 767s # "error": "subschema is not valid against all items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/items" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 5 - additionalItems.json: "when items is schema, boolean additionalItems does nothing" - "all items match schema" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 6 - additionalItems.json: "array of items with no additionalItems permitted" - "empty array" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 7 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (1)" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 8 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (2)" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 9 - additionalItems.json: "array of items with no additionalItems permitted" - "equal number of items present" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 10 - additionalItems.json: "array of items with no additionalItems permitted" - "additional items are not permitted" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "additional item not permitted", 767s # "instanceLocation": "/3", 767s # "keywordLocation": "/additionalItems" 767s # }, 767s # { 767s # "error": "subschema is not valid against all additional items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalItems" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "additional item not permitted", 767s # "instanceLocation": "/3", 767s # "keywordLocation": "/additionalItems" 767s # }, 767s # { 767s # "error": "subschema is not valid against all additional items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalItems" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 11 - additionalItems.json: "additionalItems as false without items" - "items defaults to empty schema so everything is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 12 - additionalItems.json: "additionalItems as false without items" - "ignores non-arrays" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 13 - additionalItems.json: "additionalItems are allowed by default" - "only the first item is validated" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 14 - additionalItems.json: "additionalItems does not look in applicators, valid case" - "items defined in allOf are not examined" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 15 - additionalItems.json: "additionalItems does not look in applicators, invalid case" - "items defined in allOf are not examined" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not boolean", 767s # "instanceLocation": "/1", 767s # "keywordLocation": "/additionalItems/type" 767s # }, 767s # { 767s # "error": "subschema is not valid against all additional items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalItems" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not boolean", 767s # "instanceLocation": "/1", 767s # "keywordLocation": "/additionalItems/type" 767s # }, 767s # { 767s # "error": "subschema is not valid against all additional items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalItems" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 16 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "valid items" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 17 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "wrong type of second item" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/1", 767s # "keywordLocation": "/additionalItems/type" 767s # }, 767s # { 767s # "error": "subschema is not valid against all additional items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalItems" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/1", 767s # "keywordLocation": "/additionalItems/type" 767s # }, 767s # { 767s # "error": "subschema is not valid against all additional items", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalItems" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 18 - additionalItems.json: "additionalItems with null instance elements" - "allows null elements" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s # 767s ok 19 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 20 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "additional property not permitted", 767s # "instanceLocation": "/quux", 767s # "keywordLocation": "/additionalProperties" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "additional property not permitted", 767s # "instanceLocation": "/quux", 767s # "keywordLocation": "/additionalProperties" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 21 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 22 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 23 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 24 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 25 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 26 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "additional property not permitted", 767s # "instanceLocation": "/élmény", 767s # "keywordLocation": "/additionalProperties" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "additional property not permitted", 767s # "instanceLocation": "/élmény", 767s # "keywordLocation": "/additionalProperties" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 27 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 28 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 29 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got integer, not boolean", 767s # "instanceLocation": "/quux", 767s # "keywordLocation": "/additionalProperties/type" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got integer, not boolean", 767s # "instanceLocation": "/quux", 767s # "keywordLocation": "/additionalProperties/type" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 30 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 31 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got integer, not boolean", 767s # "instanceLocation": "/foo", 767s # "keywordLocation": "/additionalProperties/type" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got integer, not boolean", 767s # "instanceLocation": "/foo", 767s # "keywordLocation": "/additionalProperties/type" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 32 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 33 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got integer, not boolean", 767s # "instanceLocation": "/foo", 767s # "keywordLocation": "/additionalProperties/type" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got integer, not boolean", 767s # "instanceLocation": "/foo", 767s # "keywordLocation": "/additionalProperties/type" 767s # }, 767s # { 767s # "error": "not all additional properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/additionalProperties" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 34 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s # 767s ok 35 - allOf.json: "allOf" - "allOf" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 36 - allOf.json: "allOf" - "mismatch second" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: bar", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/required" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: bar", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/required" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 37 - allOf.json: "allOf" - "mismatch first" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: foo", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1/required" 767s # }, 767s # { 767s # "error": "subschema 1 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: foo", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1/required" 767s # }, 767s # { 767s # "error": "subschema 1 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 38 - allOf.json: "allOf" - "wrong type" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/bar", 767s # "keywordLocation": "/allOf/0/properties/bar/type" 767s # }, 767s # { 767s # "error": "not all properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/properties" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not integer", 767s # "instanceLocation": "/bar", 767s # "keywordLocation": "/allOf/0/properties/bar/type" 767s # }, 767s # { 767s # "error": "not all properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/properties" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 39 - allOf.json: "allOf with base schema" - "valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 40 - allOf.json: "allOf with base schema" - "mismatch base schema" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: bar", 767s # "instanceLocation": "", 767s # "keywordLocation": "/required" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: bar", 767s # "instanceLocation": "", 767s # "keywordLocation": "/required" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 41 - allOf.json: "allOf with base schema" - "mismatch first allOf" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: foo", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/required" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: foo", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/required" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 42 - allOf.json: "allOf with base schema" - "mismatch second allOf" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: baz", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1/required" 767s # }, 767s # { 767s # "error": "subschema 1 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: baz", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1/required" 767s # }, 767s # { 767s # "error": "subschema 1 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 43 - allOf.json: "allOf with base schema" - "mismatch both" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: foo", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/required" 767s # }, 767s # { 767s # "error": "object is missing property: baz", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1/required" 767s # }, 767s # { 767s # "error": "subschemas 0, 1 are not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "object is missing property: foo", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/required" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 44 - allOf.json: "allOf simple types" - "valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 45 - allOf.json: "allOf simple types" - "mismatch one" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "value is larger than 30", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/maximum" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "value is larger than 30", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/maximum" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 46 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 47 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "subschema is false", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1" 767s # }, 767s # { 767s # "error": "subschema 1 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "subschema is false", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1" 767s # }, 767s # { 767s # "error": "subschema 1 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 48 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "subschema is false", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0" 767s # }, 767s # { 767s # "error": "subschema is false", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1" 767s # }, 767s # { 767s # "error": "subschemas 0, 1 are not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "subschema is false", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 49 - allOf.json: "allOf with one empty schema" - "any data is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 50 - allOf.json: "allOf with two empty schemas" - "any data is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 51 - allOf.json: "allOf with the first empty schema" - "number is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 52 - allOf.json: "allOf with the first empty schema" - "string is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not number", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1/type" 767s # }, 767s # { 767s # "error": "subschema 1 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not number", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/1/type" 767s # }, 767s # { 767s # "error": "subschema 1 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 53 - allOf.json: "allOf with the last empty schema" - "number is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 54 - allOf.json: "allOf with the last empty schema" - "string is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not number", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/type" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got string, not number", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/type" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 55 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 56 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "got integer, not null", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/allOf/0/type" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/allOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "got integer, not null", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/allOf/0/type" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/allOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 57 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 2", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # }, 767s # { 767s # "error": "value is not a multiple of 3", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # }, 767s # { 767s # "error": "value is not a multiple of 5", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 2", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 58 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 2", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # }, 767s # { 767s # "error": "value is not a multiple of 3", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 2", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 59 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 2", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # }, 767s # { 767s # "error": "value is not a multiple of 5", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 2", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 60 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 2", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 2", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 61 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 3", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # }, 767s # { 767s # "error": "value is not a multiple of 5", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 3", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 62 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 3", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 3", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 63 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" { 767s # result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 5", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "error": "value is not a multiple of 5", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf/0/multipleOf" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/oneOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 64 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s # 767s ok 65 - anchor.json: "Location-independent identifier" - "match" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 66 - anchor.json: "Location-independent identifier" - "mismatch" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "#/$defs/A/type", 767s # "error": "got string, not integer", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/type" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "#/$defs/A/type", 767s # "error": "got string, not integer", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/type" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 67 - anchor.json: "Location-independent identifier with absolute URI" - "match" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 68 - anchor.json: "Location-independent identifier with absolute URI" - "mismatch" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/bar#/type", 767s # "error": "got string, not integer", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/type" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/bar#/type", 767s # "error": "got string, not integer", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/type" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 69 - anchor.json: "Location-independent identifier with base URI change in subschema" - "match" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 70 - anchor.json: "Location-independent identifier with base URI change in subschema" - "mismatch" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested.json#/$defs/B/type", 767s # "error": "got string, not integer", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/type" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested.json#/$defs/B/type", 767s # "error": "got string, not integer", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/type" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 71 - anchor.json: "$anchor inside an enum is not a real identifier" - "exact match to enum, and type matches" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 72 - anchor.json: "$anchor inside an enum is not a real identifier" - "in implementations that strip $anchor, this may match either $def" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 767s # "error": "value does not match", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/$ref/enum" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 767s # "error": "got object, not string", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/1/$ref/type" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 767s # "error": "value does not match", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/$ref/enum" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 767s # "error": "got object, not string", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/1/$ref/type" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 73 - anchor.json: "$anchor inside an enum is not a real identifier" - "match $ref to $anchor" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 74 - anchor.json: "$anchor inside an enum is not a real identifier" - "no match on enum or $ref to $anchor" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 767s # "error": "value does not match", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/$ref/enum" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 767s # "error": "got integer, not string", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/1/$ref/type" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 767s # "error": "value does not match", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/0/$ref/enum" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 767s # "error": "got integer, not string", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf/1/$ref/type" 767s # }, 767s # { 767s # "error": "no subschemas are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/anyOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 75 - anchor.json: "same $anchor with different base uri" - "$ref resolves to /$defs/A/allOf/1" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 76 - anchor.json: "same $anchor with different base uri" - "$ref does not resolve to /$defs/A/allOf/0" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/child1#/allOf/1/type", 767s # "error": "got integer, not string", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/type" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/child1#/allOf/1/type", 767s # "error": "got integer, not string", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/type" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 77 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" { 767s # result: { 767s # "valid": true 767s # } 767s # short-circuited result: { 767s # "valid": true 767s # } 767s ok 1 - test passes: data is valid: true 767s 1..1 767s } 767s ok 78 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 767s # "error": "value does not match", 767s # "instanceLocation": "", 767s # "keywordLocation": "/else/$ref/const" 767s # }, 767s # { 767s # "error": "subschema is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/else" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 767s # "error": "value does not match", 767s # "instanceLocation": "", 767s # "keywordLocation": "/else/$ref/const" 767s # }, 767s # { 767s # "error": "subschema is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/else" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 79 - anchor.json: "invalid anchors" - "MUST start with a letter (and not \#)" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 767s # "error": "pattern does not match", 767s # "instanceLocation": "/$anchor", 767s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 767s # "error": "not all properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s # short-circuited result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 767s # "error": "pattern does not match", 767s # "instanceLocation": "/$anchor", 767s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 767s # "error": "not all properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 767s # "error": "subschema 0 is not valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/allOf" 767s # } 767s # ], 767s # "valid": false 767s # } 767s ok 1 - test passes: data is valid: false 767s 1..1 767s } 767s ok 80 - anchor.json: "invalid anchors" - "JSON pointers are not valid" { 767s # result: { 767s # "errors": [ 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 767s # "error": "pattern does not match", 767s # "instanceLocation": "/$anchor", 767s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 767s # "error": "not all properties are valid", 767s # "instanceLocation": "", 767s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 767s # }, 767s # { 767s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$anchor", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 81 - anchor.json: "invalid anchors" - "invalid with valid beginning" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$anchor", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$anchor", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 82 - anyOf.json: "anyOf" - "first anyOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 83 - anyOf.json: "anyOf" - "second anyOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 84 - anyOf.json: "anyOf" - "both anyOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 85 - anyOf.json: "anyOf" - "neither anyOf valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got number, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "error": "value is smaller than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/minimum" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got number, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "error": "value is smaller than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/minimum" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 86 - anyOf.json: "anyOf with base schema" - "mismatch base schema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 87 - anyOf.json: "anyOf with base schema" - "one anyOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 88 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "length is greater than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/maxLength" 768s # }, 768s # { 768s # "error": "length is less than 4", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/minLength" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "length is greater than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/maxLength" 768s # }, 768s # { 768s # "error": "length is less than 4", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/minLength" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 89 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 90 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 91 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0" 768s # }, 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0" 768s # }, 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 92 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 93 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 94 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 95 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/anyOf/0/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/properties" 768s # }, 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/properties/foo/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/properties" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/anyOf/0/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/properties" 768s # }, 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/properties/foo/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/properties" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 96 - anyOf.json: "anyOf with one empty schema" - "string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 97 - anyOf.json: "anyOf with one empty schema" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 98 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 99 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not null", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/anyOf/0/type" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/anyOf" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not null", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/anyOf/0/type" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/anyOf" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 100 - boolean_schema.json: "boolean schema 'true'" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 101 - boolean_schema.json: "boolean schema 'true'" - "string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 102 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 103 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 104 - boolean_schema.json: "boolean schema 'true'" - "null is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 105 - boolean_schema.json: "boolean schema 'true'" - "object is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 106 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 107 - boolean_schema.json: "boolean schema 'true'" - "array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 108 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 109 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 110 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 111 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 112 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 113 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 114 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 115 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 116 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 117 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 118 - const.json: "const validation" - "same value is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 119 - const.json: "const validation" - "another value is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 120 - const.json: "const validation" - "another type is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 121 - const.json: "const with object" - "same object is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 122 - const.json: "const with object" - "same object with different property order is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 123 - const.json: "const with object" - "another object is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 124 - const.json: "const with object" - "another type is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 125 - const.json: "const with array" - "same array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 126 - const.json: "const with array" - "another array item is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 127 - const.json: "const with array" - "array with additional items is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 128 - const.json: "const with null" - "null is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 129 - const.json: "const with null" - "not null is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 130 - const.json: "const with false does not match 0" - "false is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 131 - const.json: "const with false does not match 0" - "integer zero is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 132 - const.json: "const with false does not match 0" - "float zero is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 133 - const.json: "const with true does not match 1" - "true is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 134 - const.json: "const with true does not match 1" - "integer one is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 135 - const.json: "const with true does not match 1" - "float one is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 136 - const.json: "const with [false] does not match [0]" - "[false] is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 137 - const.json: "const with [false] does not match [0]" - "[0] is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 138 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 139 - const.json: "const with [true] does not match [1]" - "[true] is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 140 - const.json: "const with [true] does not match [1]" - "[1] is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 141 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/0\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 142 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 143 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/a\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/a\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 144 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/a\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/a\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 145 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 146 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/a\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/a\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 147 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/a\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match (differences start at \"/a\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 148 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 149 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 150 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 151 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 152 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 153 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 154 - const.json: "const with 1 does not match true" - "true is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 155 - const.json: "const with 1 does not match true" - "integer one is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 156 - const.json: "const with 1 does not match true" - "float one is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 157 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 158 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 159 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 160 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 161 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 162 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 163 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 164 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 165 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 166 - const.json: "nul characters in strings" - "match string with nul" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 167 - const.json: "nul characters in strings" - "do not match string lacking nul" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/const" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 168 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 169 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 170 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 171 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than 5", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/minimum" 768s # }, 768s # { 768s # "error": "value is smaller than 5", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/contains/minimum" 768s # }, 768s # { 768s # "error": "value is smaller than 5", 768s # "instanceLocation": "/2", 768s # "keywordLocation": "/contains/minimum" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than 5", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/minimum" 768s # }, 768s # { 768s # "error": "value is smaller than 5", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/contains/minimum" 768s # }, 768s # { 768s # "error": "value is smaller than 5", 768s # "instanceLocation": "/2", 768s # "keywordLocation": "/contains/minimum" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 172 - contains.json: "contains keyword validation" - "empty array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 173 - contains.json: "contains keyword validation" - "not array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 174 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 175 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 176 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/2", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/3", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/2", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/3", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 177 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 178 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 179 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 180 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 181 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 182 - contains.json: "items + contains" - "matches items, does not match contains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 3", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/multipleOf" 768s # }, 768s # { 768s # "error": "value is not a multiple of 3", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/contains/multipleOf" 768s # }, 768s # { 768s # "error": "value is not a multiple of 3", 768s # "instanceLocation": "/2", 768s # "keywordLocation": "/contains/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 3", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/multipleOf" 768s # }, 768s # { 768s # "error": "value is not a multiple of 3", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/contains/multipleOf" 768s # }, 768s # { 768s # "error": "value is not a multiple of 3", 768s # "instanceLocation": "/2", 768s # "keywordLocation": "/contains/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 183 - contains.json: "items + contains" - "does not match items, matches contains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/multipleOf" 768s # }, 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "/2", 768s # "keywordLocation": "/items/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 184 - contains.json: "items + contains" - "matches both items and contains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 185 - contains.json: "items + contains" - "matches neither items nor contains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/multipleOf" 768s # }, 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # }, 768s # { 768s # "error": "value is not a multiple of 3", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/multipleOf" 768s # }, 768s # { 768s # "error": "value is not a multiple of 3", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/contains/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 186 - contains.json: "contains with false if subschema" - "any non-empty array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 187 - contains.json: "contains with false if subschema" - "empty array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 188 - contains.json: "contains with null instance elements" - "allows null items" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 189 - content.json: "validation of string-encoded content based on media type" - "a valid JSON document" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 190 - content.json: "validation of string-encoded content based on media type" - "an invalid JSON document; validates true" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 191 - content.json: "validation of string-encoded content based on media type" - "ignores non-strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 192 - content.json: "validation of binary string-encoding" - "a valid base64 string" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 193 - content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character); validates true" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 194 - content.json: "validation of binary string-encoding" - "ignores non-strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 195 - content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 196 - content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document; validates true" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 197 - content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON; validates true" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 198 - content.json: "validation of binary-encoded media type documents" - "ignores non-strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 199 - content.json: "validation of binary-encoded media type documents with schema" - "a valid base64-encoded JSON document" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 200 - content.json: "validation of binary-encoded media type documents with schema" - "another valid base64-encoded JSON document" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 201 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64-encoded JSON document; validates true" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 202 - content.json: "validation of binary-encoded media type documents with schema" - "an empty object as a base64-encoded JSON document; validates true" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 203 - content.json: "validation of binary-encoded media type documents with schema" - "an empty array as a base64-encoded JSON document" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 204 - content.json: "validation of binary-encoded media type documents with schema" - "a validly-encoded invalid JSON document; validates true" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 205 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64 string that is valid JSON; validates true" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 206 - content.json: "validation of binary-encoded media type documents with schema" - "ignores non-strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 207 - default.json: "invalid type for default" - "valid when property is specified" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 208 - default.json: "invalid type for default" - "still valid when the invalid default is used" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 209 - default.json: "invalid string value for default" - "valid when property is specified" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 210 - default.json: "invalid string value for default" - "still valid when the invalid default is used" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s 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)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s 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)" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is larger than 3", 768s # "instanceLocation": "/alpha", 768s # "keywordLocation": "/properties/alpha/maximum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is larger than 3", 768s # "instanceLocation": "/alpha", 768s # "keywordLocation": "/properties/alpha/maximum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s 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" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 214 - defs.json: "validate definition against metaschema" - "valid definition schema" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 215 - defs.json: "validate definition against metaschema" - "invalid definition schema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/simpleTypes/enum", 768s # "error": "value does not match", 768s # "instanceLocation": "/$defs/foo/type", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/0/$ref/enum" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf/1/type", 768s # "error": "got integer, not array", 768s # "instanceLocation": "/$defs/foo/type", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/$defs/foo/type", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/foo", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 2 is not valid", 768s # "instanceLocation": "/$defs/foo", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/simpleTypes/enum", 768s # "error": "value does not match", 768s # "instanceLocation": "/$defs/foo/type", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/0/$ref/enum" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf/1/type", 768s # "error": "got integer, not array", 768s # "instanceLocation": "/$defs/foo/type", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/$defs/foo/type", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/foo", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 2 is not valid", 768s # "instanceLocation": "/$defs/foo", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 216 - dependentRequired.json: "single dependency" - "neither" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 217 - dependentRequired.json: "single dependency" - "nondependant" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 218 - dependentRequired.json: "single dependency" - "with dependency" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 219 - dependentRequired.json: "single dependency" - "missing dependency" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/bar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/bar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 220 - dependentRequired.json: "single dependency" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 221 - dependentRequired.json: "single dependency" - "ignores strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 222 - dependentRequired.json: "single dependency" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 223 - dependentRequired.json: "empty dependents" - "empty object" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 224 - dependentRequired.json: "empty dependents" - "object with one property" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 225 - dependentRequired.json: "empty dependents" - "non-object is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 226 - dependentRequired.json: "multiple dependents required" - "neither" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 227 - dependentRequired.json: "multiple dependents required" - "nondependants" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 228 - dependentRequired.json: "multiple dependents required" - "with dependencies" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 229 - dependentRequired.json: "multiple dependents required" - "missing dependency" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/quux" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/quux" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 230 - dependentRequired.json: "multiple dependents required" - "missing other dependency" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/quux" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/quux" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 231 - dependentRequired.json: "multiple dependents required" - "missing both dependencies" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: foo, bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/quux" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: foo, bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/quux" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 232 - dependentRequired.json: "dependencies with escaped characters" - "CRLF" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 233 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 234 - dependentRequired.json: "dependencies with escaped characters" - "CRLF missing dependent" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo\rbar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/foo\nbar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo\rbar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/foo\nbar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 235 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo'bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/foo\"bar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo'bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired/foo\"bar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentRequired" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 236 - dependentSchemas.json: "single dependency" - "valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 237 - dependentSchemas.json: "single dependency" - "no dependency" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 238 - dependentSchemas.json: "single dependency" - "wrong type" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar/properties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar/properties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 239 - dependentSchemas.json: "single dependency" - "wrong type other" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar/properties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar/properties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 240 - dependentSchemas.json: "single dependency" - "wrong type both" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 768s # }, 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar/properties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar/properties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 241 - dependentSchemas.json: "single dependency" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 242 - dependentSchemas.json: "single dependency" - "ignores strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 243 - dependentSchemas.json: "single dependency" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 244 - dependentSchemas.json: "boolean subschemas" - "object with property having schema true is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 245 - dependentSchemas.json: "boolean subschemas" - "object with property having schema false is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 246 - dependentSchemas.json: "boolean subschemas" - "object with both properties is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/bar" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 247 - dependentSchemas.json: "boolean subschemas" - "empty object is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 248 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 249 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo\"bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo'bar/required" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo\"bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo'bar/required" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 250 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab invalid under dependent schema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object has fewer than 4 properties", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo\tbar/minProperties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object has fewer than 4 properties", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo\tbar/minProperties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 251 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote invalid under dependent schema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo\"bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo'bar/required" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo\"bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo'bar/required" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 252 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches root" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 253 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches dependency" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 254 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches both" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 768s # }, 768s # { 768s # "error": "not all dependencies are satisfied", 768s # "instanceLocation": "", 768s # "keywordLocation": "/dependentSchemas" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 255 - dependentSchemas.json: "dependent subschema incompatible with root" - "no dependency" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 256 - enum.json: "simple enum validation" - "one of the enum is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 257 - enum.json: "simple enum validation" - "something else is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 258 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 259 - enum.json: "heterogeneous enum validation" - "something else is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 260 - enum.json: "heterogeneous enum validation" - "objects are deep compared" { 768s # result: { 768s # "errors": [ 768s # { 768s # "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\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "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\")", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 261 - enum.json: "heterogeneous enum validation" - "valid object matches" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 262 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 263 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 264 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 265 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 266 - enum.json: "enums in properties" - "both properties are valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 267 - enum.json: "enums in properties" - "wrong foo value" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/enum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/enum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 268 - enum.json: "enums in properties" - "wrong bar value" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar/enum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar/enum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 269 - enum.json: "enums in properties" - "missing optional property is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 270 - enum.json: "enums in properties" - "missing required property is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 271 - enum.json: "enums in properties" - "missing all properties is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 272 - enum.json: "enum with escaped characters" - "member 1 is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 273 - enum.json: "enum with escaped characters" - "member 2 is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 274 - enum.json: "enum with escaped characters" - "another string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 275 - enum.json: "enum with false does not match 0" - "false is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 276 - enum.json: "enum with false does not match 0" - "integer zero is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 277 - enum.json: "enum with false does not match 0" - "float zero is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 278 - enum.json: "enum with true does not match 1" - "true is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 279 - enum.json: "enum with true does not match 1" - "integer one is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 280 - enum.json: "enum with true does not match 1" - "float one is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 281 - enum.json: "enum with 0 does not match false" - "false is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 282 - enum.json: "enum with 0 does not match false" - "integer zero is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 283 - enum.json: "enum with 0 does not match false" - "float zero is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 284 - enum.json: "enum with 1 does not match true" - "true is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 285 - enum.json: "enum with 1 does not match true" - "integer one is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 286 - enum.json: "enum with 1 does not match true" - "float one is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 287 - enum.json: "nul characters in strings" - "match string with nul" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 288 - enum.json: "nul characters in strings" - "do not match string lacking nul" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 289 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 290 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is equal to or larger than 3", 768s # "instanceLocation": "", 768s # "keywordLocation": "/exclusiveMaximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is equal to or larger than 3", 768s # "instanceLocation": "", 768s # "keywordLocation": "/exclusiveMaximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 291 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is equal to or larger than 3", 768s # "instanceLocation": "", 768s # "keywordLocation": "/exclusiveMaximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is equal to or larger than 3", 768s # "instanceLocation": "", 768s # "keywordLocation": "/exclusiveMaximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 292 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 293 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 294 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is equal to or smaller than 1.1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/exclusiveMinimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is equal to or smaller than 1.1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/exclusiveMinimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 295 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is equal to or smaller than 1.1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/exclusiveMinimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is equal to or smaller than 1.1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/exclusiveMinimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 296 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 297 - format.json: "email format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 298 - format.json: "email format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 299 - format.json: "email format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 300 - format.json: "email format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 301 - format.json: "email format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 302 - format.json: "email format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 303 - format.json: "idn-email format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 304 - format.json: "idn-email format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 305 - format.json: "idn-email format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 306 - format.json: "idn-email format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 307 - format.json: "idn-email format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 308 - format.json: "idn-email format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 309 - format.json: "regex format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 310 - format.json: "regex format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 311 - format.json: "regex format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 312 - format.json: "regex format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 313 - format.json: "regex format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 314 - format.json: "regex format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 315 - format.json: "ipv4 format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 316 - format.json: "ipv4 format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 317 - format.json: "ipv4 format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 318 - format.json: "ipv4 format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 319 - format.json: "ipv4 format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 320 - format.json: "ipv4 format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 321 - format.json: "ipv6 format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 322 - format.json: "ipv6 format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 323 - format.json: "ipv6 format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 324 - format.json: "ipv6 format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 325 - format.json: "ipv6 format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 326 - format.json: "ipv6 format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 327 - format.json: "idn-hostname format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 328 - format.json: "idn-hostname format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 329 - format.json: "idn-hostname format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 330 - format.json: "idn-hostname format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 331 - format.json: "idn-hostname format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 332 - format.json: "idn-hostname format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 333 - format.json: "hostname format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 334 - format.json: "hostname format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 335 - format.json: "hostname format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 336 - format.json: "hostname format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 337 - format.json: "hostname format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 338 - format.json: "hostname format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 339 - format.json: "date format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 340 - format.json: "date format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 341 - format.json: "date format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 342 - format.json: "date format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 343 - format.json: "date format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 344 - format.json: "date format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 345 - format.json: "date-time format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 346 - format.json: "date-time format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 347 - format.json: "date-time format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 348 - format.json: "date-time format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 349 - format.json: "date-time format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 350 - format.json: "date-time format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 351 - format.json: "time format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 352 - format.json: "time format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 353 - format.json: "time format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 354 - format.json: "time format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 355 - format.json: "time format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 356 - format.json: "time format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 357 - format.json: "json-pointer format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 358 - format.json: "json-pointer format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 359 - format.json: "json-pointer format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 360 - format.json: "json-pointer format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 361 - format.json: "json-pointer format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 362 - format.json: "json-pointer format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 363 - format.json: "relative-json-pointer format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 364 - format.json: "relative-json-pointer format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 365 - format.json: "relative-json-pointer format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 366 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 367 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 368 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 369 - format.json: "iri format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 370 - format.json: "iri format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 371 - format.json: "iri format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 372 - format.json: "iri format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 373 - format.json: "iri format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 374 - format.json: "iri format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 375 - format.json: "iri-reference format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 376 - format.json: "iri-reference format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 377 - format.json: "iri-reference format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 378 - format.json: "iri-reference format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 379 - format.json: "iri-reference format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 380 - format.json: "iri-reference format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 381 - format.json: "uri format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 382 - format.json: "uri format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 383 - format.json: "uri format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 384 - format.json: "uri format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 385 - format.json: "uri format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 386 - format.json: "uri format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 387 - format.json: "uri-reference format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 388 - format.json: "uri-reference format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 389 - format.json: "uri-reference format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 390 - format.json: "uri-reference format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 391 - format.json: "uri-reference format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 392 - format.json: "uri-reference format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 393 - format.json: "uri-template format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 394 - format.json: "uri-template format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 395 - format.json: "uri-template format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 396 - format.json: "uri-template format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 397 - format.json: "uri-template format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 398 - format.json: "uri-template format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 399 - format.json: "uuid format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 400 - format.json: "uuid format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 401 - format.json: "uuid format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 402 - format.json: "uuid format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 403 - format.json: "uuid format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 404 - format.json: "uuid format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 405 - format.json: "duration format" - "all string formats ignore integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 406 - format.json: "duration format" - "all string formats ignore floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 407 - format.json: "duration format" - "all string formats ignore objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 408 - format.json: "duration format" - "all string formats ignore arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 409 - format.json: "duration format" - "all string formats ignore booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 410 - format.json: "duration format" - "all string formats ignore nulls" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 411 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 412 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name and no ref" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 413 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 414 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name with absolute URI" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 415 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path with absolute URI" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 416 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name with base URI change in subschema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$defs/B/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A/$defs/B", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A/$defs/B", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs/A/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$defs/B/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A/$defs/B", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A/$defs/B", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs/A/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 417 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path with base URI change in subschema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$defs/B/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A/$defs/B", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A/$defs/B", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs/A/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$defs/A/$defs/B/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A/$defs/B", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A/$defs/B", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs/A/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "/$defs/A", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/$defs", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 418 - id.json: "Valid use of empty fragments in location-independent $id" - "Identifier name with absolute URI" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 419 - id.json: "Valid use of empty fragments in location-independent $id" - "Identifier name with base URI change in subschema" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 420 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 421 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier and no ref" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 422 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier with empty fragment" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 423 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier with empty fragment and no ref" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 424 - id.json: "$id inside an enum is not a real identifier" - "exact match to enum, and type matches" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 425 - id.json: "$id inside an enum is not a real identifier" - "match $ref to $id" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 426 - id.json: "$id inside an enum is not a real identifier" - "no match on enum or $ref to $id" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/id_in_enum/enum", 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/$ref/enum" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/id/my_identifier.json#/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/type" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/id_in_enum/enum", 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/$ref/enum" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/id/my_identifier.json#/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/type" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 427 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 428 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/$ref/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/$ref/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 429 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 430 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 431 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 432 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 433 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 434 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 435 - if-then-else.json: "if and then without else" - "valid through then" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 436 - if-then-else.json: "if and then without else" - "invalid through then" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than -10", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then/minimum" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than -10", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then/minimum" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 437 - if-then-else.json: "if and then without else" - "valid when if test fails" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 438 - if-then-else.json: "if and else without then" - "valid when if test passes" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 439 - if-then-else.json: "if and else without then" - "valid through else" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 440 - if-then-else.json: "if and else without then" - "invalid through else" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 441 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 442 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than -10", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then/minimum" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than -10", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then/minimum" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 443 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 444 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/multipleOf" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 445 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 446 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 447 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 448 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 449 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 450 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 451 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 452 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 453 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/then" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 454 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/const" 768s # }, 768s # { 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s 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" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s 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" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/int/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf/0/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/$defs/int/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/allOf/1/additionalProperties/$ref/type" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf/1/additionalProperties" 768s # }, 768s # { 768s # "error": "subschemas 0, 1 are not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/int/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf/0/properties" 768s # }, 768s # { 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 457 - items.json: "a schema given for items" - "valid items" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 458 - items.json: "a schema given for items" - "wrong type of items" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 459 - items.json: "a schema given for items" - "ignores non-arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 460 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 461 - items.json: "an array of schemas for items" - "correct types" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 462 - items.json: "an array of schemas for items" - "wrong types" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/0/type" 768s # }, 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/1/type" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/0/type" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 463 - items.json: "an array of schemas for items" - "incomplete array of items" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 464 - items.json: "an array of schemas for items" - "array with additional items" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 465 - items.json: "an array of schemas for items" - "empty array" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 466 - items.json: "an array of schemas for items" - "JavaScript pseudo-array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 467 - items.json: "items with boolean schema (true)" - "any array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 468 - items.json: "items with boolean schema (true)" - "empty array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 469 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "item not permitted", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items" 768s # }, 768s # { 768s # "error": "item not permitted", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items" 768s # }, 768s # { 768s # "error": "item not permitted", 768s # "instanceLocation": "/2", 768s # "keywordLocation": "/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "item not permitted", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 470 - items.json: "items with boolean schema (false)" - "empty array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 471 - items.json: "items with boolean schemas" - "array with one item is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 472 - items.json: "items with boolean schemas" - "array with two items is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "item not permitted", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/1" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "item not permitted", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/1" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 473 - items.json: "items with boolean schemas" - "empty array is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 474 - items.json: "items and subitems" - "valid items" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 475 - items.json: "items and subitems" - "too many items" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "additional item not permitted", 768s # "instanceLocation": "/3", 768s # "keywordLocation": "/additionalItems" 768s # }, 768s # { 768s # "error": "subschema is not valid against all additional items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/additionalItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "additional item not permitted", 768s # "instanceLocation": "/3", 768s # "keywordLocation": "/additionalItems" 768s # }, 768s # { 768s # "error": "subschema is not valid against all additional items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/additionalItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 476 - items.json: "items and subitems" - "too many sub-items" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/item/additionalItems", 768s # "error": "additional item not permitted", 768s # "instanceLocation": "/0/2", 768s # "keywordLocation": "/items/0/$ref/additionalItems" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/$defs/item/additionalItems", 768s # "error": "subschema is not valid against all additional items", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/0/$ref/additionalItems" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/item/additionalItems", 768s # "error": "additional item not permitted", 768s # "instanceLocation": "/0/2", 768s # "keywordLocation": "/items/0/$ref/additionalItems" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/$defs/item/additionalItems", 768s # "error": "subschema is not valid against all additional items", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/0/$ref/additionalItems" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 477 - items.json: "items and subitems" - "wrong item" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/item/type", 768s # "error": "got object, not array", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/0/$ref/type" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/item/type", 768s # "error": "got object, not array", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/0/$ref/type" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 478 - items.json: "items and subitems" - "wrong sub-item" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/sub-item/required", 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "/0/0", 768s # "keywordLocation": "/items/0/$ref/items/0/$ref/required" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/$defs/item/items", 768s # "error": "not all items are valid", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/0/$ref/items" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/sub-item/required", 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "/0/0", 768s # "keywordLocation": "/items/0/$ref/items/0/$ref/required" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/$defs/item/items", 768s # "error": "not all items are valid", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/0/$ref/items" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 479 - items.json: "items and subitems" - "fewer items is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 480 - items.json: "nested items" - "valid nested array" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 481 - items.json: "nested items" - "nested array with invalid type" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/0/0/0/0", 768s # "keywordLocation": "/items/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0/0/0", 768s # "keywordLocation": "/items/items/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0/0", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/0/0/0/0", 768s # "keywordLocation": "/items/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0/0/0", 768s # "keywordLocation": "/items/items/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0/0", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 482 - items.json: "nested items" - "not deep enough" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not array", 768s # "instanceLocation": "/0/0/0", 768s # "keywordLocation": "/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0/0", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "got integer, not array", 768s # "instanceLocation": "/0/1/0", 768s # "keywordLocation": "/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0/1", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "got integer, not array", 768s # "instanceLocation": "/0/2/0", 768s # "keywordLocation": "/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0/2", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/items" 768s # }, 768s # { 768s # "error": "got integer, not array", 768s # "instanceLocation": "/1/0/0", 768s # "keywordLocation": "/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/1/0", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "got integer, not array", 768s # "instanceLocation": "/1/1/0", 768s # "keywordLocation": "/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/1/1", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "got integer, not array", 768s # "instanceLocation": "/1/2/0", 768s # "keywordLocation": "/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/1/2", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not array", 768s # "instanceLocation": "/0/0/0", 768s # "keywordLocation": "/items/items/items/type" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0/0", 768s # "keywordLocation": "/items/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/items" 768s # }, 768s # { 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 483 - items.json: "single-form items with null instance elements" - "allows null elements" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 484 - items.json: "array-form items with null instance elements" - "allows null elements" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 485 - maxContains.json: "maxContains without contains is ignored" - "one item valid against lone maxContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 486 - maxContains.json: "maxContains without contains is ignored" - "two items still valid against lone maxContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 487 - maxContains.json: "maxContains with contains" - "empty data" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 488 - maxContains.json: "maxContains with contains" - "all elements match, valid maxContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 489 - maxContains.json: "maxContains with contains" - "all elements match, invalid maxContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 490 - maxContains.json: "maxContains with contains" - "some elements match, valid maxContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 491 - maxContains.json: "maxContains with contains" - "some elements match, invalid maxContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 492 - maxContains.json: "maxContains with contains, value with a decimal" - "one element matches, valid maxContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 493 - maxContains.json: "maxContains with contains, value with a decimal" - "too many elements match, invalid maxContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 494 - maxContains.json: "minContains < maxContains" - "actual < minContains < maxContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # }, 768s # { 768s # "error": "array contains fewer than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 495 - maxContains.json: "minContains < maxContains" - "minContains < actual < maxContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 496 - maxContains.json: "minContains < maxContains" - "minContains < maxContains < actual" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 3 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 3 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 497 - maxItems.json: "maxItems validation" - "shorter is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 498 - maxItems.json: "maxItems validation" - "exact length is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 499 - maxItems.json: "maxItems validation" - "too long is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array has more than 2 items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array has more than 2 items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 500 - maxItems.json: "maxItems validation" - "ignores non-arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 501 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 502 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array has more than 2 items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array has more than 2 items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 503 - maxLength.json: "maxLength validation" - "shorter is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 504 - maxLength.json: "maxLength validation" - "exact length is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 505 - maxLength.json: "maxLength validation" - "too long is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "length is greater than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "length is greater than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 506 - maxLength.json: "maxLength validation" - "ignores non-strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 507 - maxLength.json: "maxLength validation" - "two supplementary Unicode code points is long enough" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 508 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 509 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "length is greater than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "length is greater than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 510 - maxProperties.json: "maxProperties validation" - "shorter is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 511 - maxProperties.json: "maxProperties validation" - "exact length is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 512 - maxProperties.json: "maxProperties validation" - "too long is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object has more than 2 properties", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object has more than 2 properties", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 513 - maxProperties.json: "maxProperties validation" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 514 - maxProperties.json: "maxProperties validation" - "ignores strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 515 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 516 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 517 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object has more than 2 properties", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object has more than 2 properties", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 518 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 519 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object has more than 0 property", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object has more than 0 property", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 520 - maximum.json: "maximum validation" - "below the maximum is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 521 - maximum.json: "maximum validation" - "boundary point is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 522 - maximum.json: "maximum validation" - "above the maximum is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is larger than 3", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is larger than 3", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 523 - maximum.json: "maximum validation" - "ignores non-numbers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 524 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 525 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 526 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 527 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is larger than 300", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is larger than 300", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 528 - minContains.json: "minContains without contains is ignored" - "one item valid against lone minContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 529 - minContains.json: "minContains without contains is ignored" - "zero items still valid against lone minContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 530 - minContains.json: "minContains=1 with contains" - "empty data" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # }, 768s # { 768s # "error": "array contains fewer than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 531 - minContains.json: "minContains=1 with contains" - "no elements match" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # }, 768s # { 768s # "error": "array contains fewer than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/contains/const" 768s # }, 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 532 - minContains.json: "minContains=1 with contains" - "single element matches, valid minContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 533 - minContains.json: "minContains=1 with contains" - "some elements match, valid minContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 534 - minContains.json: "minContains=1 with contains" - "all elements match, valid minContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 535 - minContains.json: "minContains=2 with contains" - "empty data" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # }, 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 536 - minContains.json: "minContains=2 with contains" - "all elements match, invalid minContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 537 - minContains.json: "minContains=2 with contains" - "some elements match, invalid minContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 538 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (exactly as needed)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 539 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (more than needed)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 540 - minContains.json: "minContains=2 with contains" - "some elements match, valid minContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 541 - minContains.json: "minContains=2 with contains with a decimal value" - "one element matches, invalid minContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 542 - minContains.json: "minContains=2 with contains with a decimal value" - "both elements match, valid minContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 543 - minContains.json: "maxContains = minContains" - "empty data" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # }, 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 544 - minContains.json: "maxContains = minContains" - "all elements match, invalid minContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 545 - minContains.json: "maxContains = minContains" - "all elements match, invalid maxContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 2 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 546 - minContains.json: "maxContains = minContains" - "all elements match, valid maxContains and minContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 547 - minContains.json: "maxContains < minContains" - "empty data" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # }, 768s # { 768s # "error": "array contains fewer than 3 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is not valid against any item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/contains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 548 - minContains.json: "maxContains < minContains" - "invalid minContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 3 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains fewer than 3 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 549 - minContains.json: "maxContains < minContains" - "invalid maxContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 550 - minContains.json: "maxContains < minContains" - "invalid maxContains and minContains" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # }, 768s # { 768s # "error": "array contains fewer than 3 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 551 - minContains.json: "minContains = 0 with no maxContains" - "empty data" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 552 - minContains.json: "minContains = 0 with no maxContains" - "minContains = 0 makes contains always pass" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 553 - minContains.json: "minContains = 0 with maxContains" - "empty data" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 554 - minContains.json: "minContains = 0 with maxContains" - "not more than maxContains" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 555 - minContains.json: "minContains = 0 with maxContains" - "too many" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array contains more than 1 matching items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/maxContains" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 556 - minItems.json: "minItems validation" - "longer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 557 - minItems.json: "minItems validation" - "exact length is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 558 - minItems.json: "minItems validation" - "too short is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array has fewer than 1 item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array has fewer than 1 item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 559 - minItems.json: "minItems validation" - "ignores non-arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 560 - minItems.json: "minItems validation with a decimal" - "longer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 561 - minItems.json: "minItems validation with a decimal" - "too short is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array has fewer than 1 item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array has fewer than 1 item", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minItems" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 562 - minLength.json: "minLength validation" - "longer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 563 - minLength.json: "minLength validation" - "exact length is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 564 - minLength.json: "minLength validation" - "too short is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "length is less than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "length is less than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 565 - minLength.json: "minLength validation" - "ignores non-strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 566 - minLength.json: "minLength validation" - "one supplementary Unicode code point is not long enough" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "length is less than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "length is less than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 567 - minLength.json: "minLength validation with a decimal" - "longer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 568 - minLength.json: "minLength validation with a decimal" - "too short is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "length is less than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "length is less than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minLength" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 569 - minProperties.json: "minProperties validation" - "longer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 570 - minProperties.json: "minProperties validation" - "exact length is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 571 - minProperties.json: "minProperties validation" - "too short is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object has fewer than 1 property", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object has fewer than 1 property", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 572 - minProperties.json: "minProperties validation" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 573 - minProperties.json: "minProperties validation" - "ignores strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 574 - minProperties.json: "minProperties validation" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 575 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 576 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object has fewer than 1 property", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object has fewer than 1 property", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 577 - minimum.json: "minimum validation" - "above the minimum is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 578 - minimum.json: "minimum validation" - "boundary point is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 579 - minimum.json: "minimum validation" - "below the minimum is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than 1.1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than 1.1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 580 - minimum.json: "minimum validation" - "ignores non-numbers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 581 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 582 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 583 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 584 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 585 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than -2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than -2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 586 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than -2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is smaller than -2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/minimum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 587 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 588 - multipleOf.json: "by int" - "int by int" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 589 - multipleOf.json: "by int" - "int by int fail" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/multipleOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/multipleOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 590 - multipleOf.json: "by int" - "ignores non-numbers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 591 - multipleOf.json: "by number" - "zero is multiple of anything" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 592 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 593 - multipleOf.json: "by number" - "35 is not multiple of 1.5" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 1.5", 768s # "instanceLocation": "", 768s # "keywordLocation": "/multipleOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 1.5", 768s # "instanceLocation": "", 768s # "keywordLocation": "/multipleOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 594 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 595 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 0.0001", 768s # "instanceLocation": "", 768s # "keywordLocation": "/multipleOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 0.0001", 768s # "instanceLocation": "", 768s # "keywordLocation": "/multipleOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 596 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 0.123456789", 768s # "instanceLocation": "", 768s # "keywordLocation": "/multipleOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is not a multiple of 0.123456789", 768s # "instanceLocation": "", 768s # "keywordLocation": "/multipleOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 597 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 598 - not.json: "not" - "allowed" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 599 - not.json: "not" - "disallowed" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 600 - not.json: "not multiple types" - "valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 601 - not.json: "not multiple types" - "mismatch" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 602 - not.json: "not multiple types" - "other mismatch" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 603 - not.json: "not more complex schema" - "match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 604 - not.json: "not more complex schema" - "other match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 605 - not.json: "not more complex schema" - "mismatch" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 606 - not.json: "forbidden property" - "property present" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/not" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/not" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 607 - not.json: "forbidden property" - "property absent" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 608 - not.json: "not with boolean schema true" - "any value is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 609 - not.json: "not with boolean schema false" - "any value is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 610 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 611 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/not" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 612 - oneOf.json: "oneOf" - "first oneOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 613 - oneOf.json: "oneOf" - "second oneOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 614 - oneOf.json: "oneOf" - "both oneOf valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 615 - oneOf.json: "oneOf" - "neither oneOf valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got number, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/type" 768s # }, 768s # { 768s # "error": "value is smaller than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1/minimum" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got number, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/type" 768s # }, 768s # { 768s # "error": "value is smaller than 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1/minimum" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 616 - oneOf.json: "oneOf with base schema" - "mismatch base schema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # }, 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 617 - oneOf.json: "oneOf with base schema" - "one oneOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 618 - oneOf.json: "oneOf with base schema" - "both oneOf valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 619 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1, 2", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 620 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 621 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 622 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0" 768s # }, 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1" 768s # }, 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/2" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0" 768s # }, 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1" 768s # }, 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/2" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 623 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 624 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 625 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 626 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/oneOf/0/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/properties" 768s # }, 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/oneOf/1/properties/foo/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1/properties" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/oneOf/0/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/properties" 768s # }, 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/oneOf/1/properties/foo/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1/properties" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 627 - oneOf.json: "oneOf with empty schema" - "one valid - valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 628 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 629 - oneOf.json: "oneOf with required" - "both invalid - invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/required" 768s # }, 768s # { 768s # "error": "object is missing properties: foo, baz", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1/required" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/required" 768s # }, 768s # { 768s # "error": "object is missing properties: foo, baz", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1/required" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 630 - oneOf.json: "oneOf with required" - "first valid - valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 631 - oneOf.json: "oneOf with required" - "second valid - valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 632 - oneOf.json: "oneOf with required" - "both valid - invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 633 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 634 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 635 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "multiple subschemas are valid: 0, 1", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 636 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/required" 768s # }, 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1/required" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: bar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/required" 768s # }, 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/1/required" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 637 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 638 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not null", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/oneOf/0/type" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/oneOf" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not null", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/oneOf/0/type" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf/0/oneOf" 768s # }, 768s # { 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/oneOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 639 - pattern.json: "pattern validation" - "a matching pattern is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 640 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "pattern does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/pattern" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "pattern does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/pattern" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 641 - pattern.json: "pattern validation" - "ignores booleans" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 642 - pattern.json: "pattern validation" - "ignores integers" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 643 - pattern.json: "pattern validation" - "ignores floats" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 644 - pattern.json: "pattern validation" - "ignores objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 645 - pattern.json: "pattern validation" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 646 - pattern.json: "pattern validation" - "ignores null" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 647 - pattern.json: "pattern is not anchored" - "matches a substring" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 648 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 649 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 650 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/patternProperties/f.*o/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/patternProperties/f.*o/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 651 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/patternProperties/f.*o/type" 768s # }, 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foooooo", 768s # "keywordLocation": "/patternProperties/f.*o/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/patternProperties/f.*o/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 652 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 653 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 654 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 655 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 656 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 657 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 658 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/a", 768s # "keywordLocation": "/patternProperties/a*/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/a", 768s # "keywordLocation": "/patternProperties/a*/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 659 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value is larger than 20", 768s # "instanceLocation": "/aaaa", 768s # "keywordLocation": "/patternProperties/aaa*/maximum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value is larger than 20", 768s # "instanceLocation": "/aaaa", 768s # "keywordLocation": "/patternProperties/aaa*/maximum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 660 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/aaa", 768s # "keywordLocation": "/patternProperties/a*/type" 768s # }, 768s # { 768s # "error": "value is larger than 20", 768s # "instanceLocation": "/aaaa", 768s # "keywordLocation": "/patternProperties/aaa*/maximum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/aaa", 768s # "keywordLocation": "/patternProperties/a*/type" 768s # }, 768s # { 768s # "error": "value is larger than 20", 768s # "instanceLocation": "/aaaa", 768s # "keywordLocation": "/patternProperties/aaa*/maximum" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 661 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 662 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got null, not boolean", 768s # "instanceLocation": "/a31b", 768s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got null, not boolean", 768s # "instanceLocation": "/a31b", 768s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 663 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 664 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/a_X_3", 768s # "keywordLocation": "/patternProperties/X_/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/a_X_3", 768s # "keywordLocation": "/patternProperties/X_/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 665 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 666 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/patternProperties/b.*" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/patternProperties/b.*" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 667 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/patternProperties/b.*" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/patternProperties/b.*" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 668 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/foobar", 768s # "keywordLocation": "/patternProperties/b.*" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/foobar", 768s # "keywordLocation": "/patternProperties/b.*" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 669 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 670 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 671 - properties.json: "object properties validation" - "both properties present and valid is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 672 - properties.json: "object properties validation" - "one property invalid is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got object, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got object, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 673 - properties.json: "object properties validation" - "both properties invalid is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got object, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar/type" 768s # }, 768s # { 768s # "error": "got array, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got object, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 674 - properties.json: "object properties validation" - "doesn't invalidate other properties" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 675 - properties.json: "object properties validation" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 676 - properties.json: "object properties validation" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 677 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 678 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array has more than 3 items", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/maxItems" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array has more than 3 items", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/maxItems" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 679 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array has fewer than 2 items", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/patternProperties/f.o/minItems" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array has fewer than 2 items", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/patternProperties/f.o/minItems" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 680 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 681 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array has fewer than 2 items", 768s # "instanceLocation": "/fxo", 768s # "keywordLocation": "/patternProperties/f.o/minItems" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array has fewer than 2 items", 768s # "instanceLocation": "/fxo", 768s # "keywordLocation": "/patternProperties/f.o/minItems" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/patternProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 682 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 683 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 684 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/quux", 768s # "keywordLocation": "/additionalProperties/type" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/additionalProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not integer", 768s # "instanceLocation": "/quux", 768s # "keywordLocation": "/additionalProperties/type" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/additionalProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 685 - properties.json: "properties with boolean schema" - "no property present is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 686 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 687 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 688 - properties.json: "properties with boolean schema" - "both properties present is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 689 - properties.json: "properties with escaped characters" - "object with all numbers is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 690 - properties.json: "properties with escaped characters" - "object with strings is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\tbar", 768s # "keywordLocation": "/properties/foo\tbar/type" 768s # }, 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\nbar", 768s # "keywordLocation": "/properties/foo\nbar/type" 768s # }, 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\fbar", 768s # "keywordLocation": "/properties/foo\fbar/type" 768s # }, 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\rbar", 768s # "keywordLocation": "/properties/foo\rbar/type" 768s # }, 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\"bar", 768s # "keywordLocation": "/properties/foo\"bar/type" 768s # }, 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\\bar", 768s # "keywordLocation": "/properties/foo\\bar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\tbar", 768s # "keywordLocation": "/properties/foo\tbar/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 691 - properties.json: "properties with null valued instance properties" - "allows null values" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 692 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 693 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 694 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 695 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/__proto__", 768s # "keywordLocation": "/properties/__proto__/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "/__proto__", 768s # "keywordLocation": "/properties/__proto__/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 696 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/toString/length", 768s # "keywordLocation": "/properties/toString/properties/length/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/toString", 768s # "keywordLocation": "/properties/toString/properties" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/toString/length", 768s # "keywordLocation": "/properties/toString/properties/length/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/toString", 768s # "keywordLocation": "/properties/toString/properties" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 697 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got object, not number", 768s # "instanceLocation": "/constructor", 768s # "keywordLocation": "/properties/constructor/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got object, not number", 768s # "instanceLocation": "/constructor", 768s # "keywordLocation": "/properties/constructor/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 698 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 699 - propertyNames.json: "propertyNames validation" - "all property names valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 700 - propertyNames.json: "propertyNames validation" - "some property names invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "length is greater than 3", 768s # "instanceLocation": "/foobar", 768s # "keywordLocation": "/propertyNames/maxLength" 768s # }, 768s # { 768s # "error": "not all property names are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/propertyNames" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "length is greater than 3", 768s # "instanceLocation": "/foobar", 768s # "keywordLocation": "/propertyNames/maxLength" 768s # }, 768s # { 768s # "error": "not all property names are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/propertyNames" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 701 - propertyNames.json: "propertyNames validation" - "object without properties is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 702 - propertyNames.json: "propertyNames validation" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 703 - propertyNames.json: "propertyNames validation" - "ignores strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 704 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 705 - propertyNames.json: "propertyNames validation with pattern" - "matching property names valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 706 - propertyNames.json: "propertyNames validation with pattern" - "non-matching property name is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "pattern does not match", 768s # "instanceLocation": "/aaA", 768s # "keywordLocation": "/propertyNames/pattern" 768s # }, 768s # { 768s # "error": "not all property names are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/propertyNames" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "pattern does not match", 768s # "instanceLocation": "/aaA", 768s # "keywordLocation": "/propertyNames/pattern" 768s # }, 768s # { 768s # "error": "not all property names are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/propertyNames" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 707 - propertyNames.json: "propertyNames validation with pattern" - "object without properties is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 708 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 709 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 710 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/propertyNames" 768s # }, 768s # { 768s # "error": "not all property names are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/propertyNames" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "subschema is false", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/propertyNames" 768s # }, 768s # { 768s # "error": "not all property names are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/propertyNames" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 711 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 712 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 713 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 714 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "mismatch" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/additionalProperties" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/additionalProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/additionalProperties" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/additionalProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 715 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive mismatch" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/additionalProperties", 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/additionalProperties", 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 716 - recursiveRef.json: "$recursiveRef without using nesting" - "integer matches at the outer level" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 717 - recursiveRef.json: "$recursiveRef without using nesting" - "single level match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 718 - recursiveRef.json: "$recursiveRef without using nesting" - "integer does not match as a property value" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 719 - recursiveRef.json: "$recursiveRef without using nesting" - "two levels, properties match with inner definition" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 720 - recursiveRef.json: "$recursiveRef without using nesting" - "two levels, no match" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 721 - recursiveRef.json: "$recursiveRef with nesting" - "integer matches at the outer level" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 722 - recursiveRef.json: "$recursiveRef with nesting" - "single level match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 723 - recursiveRef.json: "$recursiveRef with nesting" - "integer now matches as a property value" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 724 - recursiveRef.json: "$recursiveRef with nesting" - "two levels, properties match with inner definition" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 725 - recursiveRef.json: "$recursiveRef with nesting" - "two levels, properties match with $recursiveRef" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 726 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "integer matches at the outer level" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 727 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "single level match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 728 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "integer does not match as a property value" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 729 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "two levels, properties match with inner definition" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 730 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "two levels, integer does not match as a property value" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 731 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "integer matches at the outer level" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 732 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "single level match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 733 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "integer does not match as a property value" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 734 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "two levels, properties match with inner definition" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 735 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "two levels, integer does not match as a property value" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type", 768s # "error": "got integer, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 736 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node does not match; no recursion" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type", 768s # "error": "got object, not boolean", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type", 768s # "error": "got boolean, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type", 768s # "error": "got object, not boolean", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type", 768s # "error": "got boolean, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 737 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node matches: recursion uses the inner schema" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 738 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node does not match: recursion uses the inner schema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type", 768s # "error": "got object, not boolean", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type", 768s # "error": "got boolean, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type", 768s # "error": "got object, not boolean", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type", 768s # "error": "got boolean, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 739 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node does not match; no recursion" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type", 768s # "error": "got object, not boolean", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type", 768s # "error": "got boolean, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type", 768s # "error": "got object, not boolean", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type", 768s # "error": "got boolean, not object", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 740 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node matches: recursion only uses inner schema" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 741 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node does not match: recursion only uses inner schema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type", 768s # "error": "got object, not boolean", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type", 768s # "error": "got boolean, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type", 768s # "error": "got object, not boolean", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type", 768s # "error": "got boolean, not object", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf/1/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/anyOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 742 - recursiveRef.json: "multiple dynamic paths to the $recursiveRef keyword" - "recurse to anyLeafNode - floats are allowed" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 743 - recursiveRef.json: "multiple dynamic paths to the $recursiveRef keyword" - "recurse to integerNode - floats are not allowed" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_integerNode.json#/type", 768s # "error": "got number, not one of object, integer", 768s # "instanceLocation": "/november", 768s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_inner.json#/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/$ref/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_main.json#/else", 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_integerNode.json#/type", 768s # "error": "got number, not one of object, integer", 768s # "instanceLocation": "/november", 768s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_inner.json#/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/$ref/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_main.json#/else", 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 744 - recursiveRef.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "numeric node" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 745 - recursiveRef.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "integer node" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://example.com/integerNode.json#/type", 768s # "error": "got number, not one of object, integer", 768s # "instanceLocation": "/november", 768s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://example.com/inner.json#/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/$ref/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://example.com/main.json#/else", 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://example.com/integerNode.json#/type", 768s # "error": "got number, not one of object, integer", 768s # "instanceLocation": "/november", 768s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://example.com/inner.json#/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else/$ref/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://example.com/main.json#/else", 768s # "error": "subschema is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/else" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 746 - ref.json: "root pointer ref" - "match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 747 - ref.json: "root pointer ref" - "recursive match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 748 - ref.json: "root pointer ref" - "mismatch" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/additionalProperties" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/additionalProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/additionalProperties" 768s # }, 768s # { 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/additionalProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 749 - ref.json: "root pointer ref" - "recursive mismatch" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/additionalProperties", 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/additionalProperties", 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/additionalProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 750 - ref.json: "relative pointer ref to object" - "match" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 751 - ref.json: "relative pointer ref to object" - "mismatch" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/properties/foo/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/properties/foo/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/properties/bar/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 752 - ref.json: "relative pointer ref to array" - "match array" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 753 - ref.json: "relative pointer ref to array" - "mismatch array" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/items/0/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/1/$ref/type" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/items/0/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/1", 768s # "keywordLocation": "/items/1/$ref/type" 768s # }, 768s # { 768s # "error": "not all items are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 754 - ref.json: "escaped pointer ref" - "slash invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/slash~1field/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/slash", 768s # "keywordLocation": "/properties/slash/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/slash~1field/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/slash", 768s # "keywordLocation": "/properties/slash/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 755 - ref.json: "escaped pointer ref" - "tilde invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/tilde~0field/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/tilde", 768s # "keywordLocation": "/properties/tilde/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/tilde~0field/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/tilde", 768s # "keywordLocation": "/properties/tilde/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 756 - ref.json: "escaped pointer ref" - "percent invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/percent%25field/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/percent", 768s # "keywordLocation": "/properties/percent/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/percent%25field/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/percent", 768s # "keywordLocation": "/properties/percent/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 757 - ref.json: "escaped pointer ref" - "slash valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 758 - ref.json: "escaped pointer ref" - "tilde valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 759 - ref.json: "escaped pointer ref" - "percent valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 760 - ref.json: "nested refs" - "nested ref valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 761 - ref.json: "nested refs" - "nested ref invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/a/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/a/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 762 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 763 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "array has more than 2 items", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/maxItems" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "array has more than 2 items", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/maxItems" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 764 - ref.json: "ref applies alongside sibling keywords" - "ref invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/reffed/type", 768s # "error": "got string, not array", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/reffed/type", 768s # "error": "got string, not array", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 765 - ref.json: "remote ref, containing refs itself" - "remote ref valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 766 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/nonNegativeInteger/minimum", 768s # "error": "value is smaller than 0", 768s # "instanceLocation": "/minLength", 768s # "keywordLocation": "/$ref/allOf/2/$ref/properties/minLength/$ref/$ref/minimum" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/2/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 2 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/nonNegativeInteger/minimum", 768s # "error": "value is smaller than 0", 768s # "instanceLocation": "/minLength", 768s # "keywordLocation": "/$ref/allOf/2/$ref/properties/minLength/$ref/$ref/minimum" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/2/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 2 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 767 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 768 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/$ref", 768s # "keywordLocation": "/properties/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got integer, not string", 768s # "instanceLocation": "/$ref", 768s # "keywordLocation": "/properties/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 769 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 770 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/is-string/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/$ref", 768s # "keywordLocation": "/properties/$ref/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/is-string/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/$ref", 768s # "keywordLocation": "/properties/$ref/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 771 - ref.json: "$ref to boolean schema true" - "any value is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 772 - ref.json: "$ref to boolean schema false" - "any value is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/bool", 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/bool", 768s # "error": "subschema is false", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 773 - ref.json: "Recursive references between schemas" - "valid tree" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 774 - ref.json: "Recursive references between schemas" - "invalid tree" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties/value/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/nodes/0/subtree/nodes/0", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/nodes/0/subtree/nodes", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/nodes/0/subtree", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/nodes/0", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/nodes", 768s # "keywordLocation": "/properties/nodes/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties/value/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/nodes/0/subtree/nodes/0", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/nodes/0/subtree/nodes", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/nodes/0/subtree", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/nodes/0", 768s # "keywordLocation": "/properties/nodes/items/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/nodes", 768s # "keywordLocation": "/properties/nodes/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 775 - ref.json: "refs with quote" - "object with numbers is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 776 - ref.json: "refs with quote" - "object with strings is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/foo%22bar/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\"bar", 768s # "keywordLocation": "/properties/foo\"bar/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/foo%22bar/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "/foo\"bar", 768s # "keywordLocation": "/properties/foo\"bar/$ref/type" 768s # }, 768s # { 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 777 - ref.json: "ref creates new scope when adjacent to keywords" - "referenced subschema doesn't see annotations from properties" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/prop1", 768s # "keywordLocation": "/$ref/unevaluatedProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/unevaluatedProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 768s # "error": "additional property not permitted", 768s # "instanceLocation": "/prop1", 768s # "keywordLocation": "/$ref/unevaluatedProperties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 768s # "error": "not all additional properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/unevaluatedProperties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s 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" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s 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" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "value does not match", 768s # "instanceLocation": "", 768s # "keywordLocation": "/enum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 780 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 781 - ref.json: "refs with relative uris and defs" - "invalid on inner field" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 782 - ref.json: "refs with relative uris and defs" - "invalid on outer field" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/$ref/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/$ref/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 783 - ref.json: "refs with relative uris and defs" - "valid on both fields" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 784 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo/bar", 768s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 785 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/$ref/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/$ref/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 786 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 787 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 788 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf/0/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf/0/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 789 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 790 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id1/int.json#/maximum", 768s # "error": "value is larger than 10", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/maximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id1/int.json#/maximum", 768s # "error": "value is larger than 10", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/maximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 791 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 792 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id2/base.json#/$defs/bigint/maximum", 768s # "error": "value is larger than 10", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/maximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id2/base.json#/$defs/bigint/maximum", 768s # "error": "value is larger than 10", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/maximum" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 793 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 794 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 768s # "error": "value is smaller than 30", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/minimum" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 768s # "error": "value is smaller than 30", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/minimum" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 795 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 796 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 797 - ref.json: "URN base URI with NSS" - "a string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 798 - ref.json: "URN base URI with NSS" - "a non-string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 799 - ref.json: "URN base URI with r-component" - "a string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 800 - ref.json: "URN base URI with r-component" - "a non-string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 801 - ref.json: "URN base URI with q-component" - "a string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 802 - ref.json: "URN base URI with q-component" - "a non-string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 803 - ref.json: "URN base URI with f-component" - "is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 768s # "error": "pattern does not match", 768s # "instanceLocation": "/$id", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$id/pattern" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 804 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 805 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 806 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 807 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/foo", 768s # "keywordLocation": "/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 808 - ref.json: "URN ref with nested pointer ref" - "a string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 809 - ref.json: "URN ref with nested pointer ref" - "a non-string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 810 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 811 - ref.json: "ref to if" - "an integer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 812 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 813 - ref.json: "ref to then" - "an integer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 814 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 815 - ref.json: "ref to else" - "an integer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 816 - ref.json: "ref with absolute-path-reference" - "a string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 817 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 818 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 819 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 820 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 821 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type", 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 822 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 823 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs//$defs//type", 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf/0/$ref/type" 768s # }, 768s # { 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "#/$defs//$defs//type", 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf/0/$ref/type" 768s # }, 768s # { 768s # "error": "subschema 0 is not valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/allOf" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 824 - refRemote.json: "remote ref" - "remote ref valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 825 - refRemote.json: "remote ref" - "remote ref invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 826 - refRemote.json: "fragment within remote ref" - "remote fragment valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 827 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 828 - refRemote.json: "anchor within remote ref" - "remote anchor valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 829 - refRemote.json: "anchor within remote ref" - "remote anchor invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 830 - refRemote.json: "ref within remote ref" - "ref within ref valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 831 - refRemote.json: "ref within remote ref" - "ref within ref invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 832 - refRemote.json: "base URI change" - "base URI change ref valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 833 - refRemote.json: "base URI change" - "base URI change ref invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/0/0", 768s # "keywordLocation": "/items/items/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChange/#/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/#/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/0/0", 768s # "keywordLocation": "/items/items/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChange/#/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/0", 768s # "keywordLocation": "/items/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/#/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "", 768s # "keywordLocation": "/items" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 834 - refRemote.json: "base URI change - change folder" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 835 - refRemote.json: "base URI change - change folder" - "string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/list/0", 768s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolder/#/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/list", 768s # "keywordLocation": "/properties/list/$ref/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs1.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/list/0", 768s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolder/#/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/list", 768s # "keywordLocation": "/properties/list/$ref/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs1.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 836 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 837 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/list/0", 768s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolderInSubschema/#/$defs/bar/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/list", 768s # "keywordLocation": "/properties/list/$ref/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs2.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "/list/0", 768s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolderInSubschema/#/$defs/bar/items", 768s # "error": "subschema is not valid against all items", 768s # "instanceLocation": "/list", 768s # "keywordLocation": "/properties/list/$ref/items" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs2.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 838 - refRemote.json: "root ref in remote ref" - "string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 839 - refRemote.json: "root ref in remote ref" - "null is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 840 - refRemote.json: "root ref in remote ref" - "object is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf/0/type", 768s # "error": "got object, not null", 768s # "instanceLocation": "/name", 768s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "/name", 768s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/name", 768s # "keywordLocation": "/properties/name/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/object#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf/0/type", 768s # "error": "got object, not null", 768s # "instanceLocation": "/name", 768s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/type", 768s # "error": "got object, not string", 768s # "instanceLocation": "/name", 768s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf", 768s # "error": "no subschemas are valid", 768s # "instanceLocation": "/name", 768s # "keywordLocation": "/properties/name/$ref/anyOf" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/object#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 841 - refRemote.json: "remote ref with ref to defs" - "invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/$ref/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/bar", 768s # "keywordLocation": "/$ref/$ref/properties/bar/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 842 - refRemote.json: "remote ref with ref to defs" - "valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 843 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 844 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 845 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/name/foo", 768s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/foo-ref-string.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/name", 768s # "keywordLocation": "/properties/name/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/some-id#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "/name/foo", 768s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/foo-ref-string.json#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "/name", 768s # "keywordLocation": "/properties/name/$ref/properties" 768s # }, 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/some-id#/properties", 768s # "error": "not all properties are valid", 768s # "instanceLocation": "", 768s # "keywordLocation": "/properties" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 846 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 847 - refRemote.json: "remote HTTP ref with different $id" - "number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 848 - refRemote.json: "remote HTTP ref with different $id" - "string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 849 - refRemote.json: "remote HTTP ref with different URN $id" - "number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 850 - refRemote.json: "remote HTTP ref with different URN $id" - "string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 851 - refRemote.json: "remote HTTP ref with nested absolute ref" - "number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type", 768s # "error": "got integer, not string", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 852 - refRemote.json: "remote HTTP ref with nested absolute ref" - "string is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 853 - refRemote.json: "$ref to $ref finds detached $anchor" - "number is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 854 - refRemote.json: "$ref to $ref finds detached $anchor" - "non-number is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/detached-ref.json#/$defs/detached/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/detached-ref.json#/$defs/detached/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/$ref/$ref/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s # 768s ok 855 - required.json: "required validation" - "present required property is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 856 - required.json: "required validation" - "non-present required property is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing property: foo", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 857 - required.json: "required validation" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 858 - required.json: "required validation" - "ignores strings" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 859 - required.json: "required validation" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 860 - required.json: "required default validation" - "not required by default" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 861 - required.json: "required with empty array" - "property not required" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 862 - required.json: "required with escaped characters" - "object with all properties present is valid" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 863 - required.json: "required with escaped characters" - "object with some properties missing is invalid" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 864 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 865 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 866 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: __proto__, toString, constructor", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: __proto__, toString, constructor", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 867 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: toString, constructor", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: toString, constructor", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 868 - required.json: "required properties whose names are Javascript object property names" - "toString present" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: __proto__, constructor", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: __proto__, constructor", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 869 - required.json: "required properties whose names are Javascript object property names" - "constructor present" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: __proto__, toString", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "object is missing properties: __proto__, toString", 768s # "instanceLocation": "", 768s # "keywordLocation": "/required" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 870 - required.json: "required properties whose names are Javascript object property names" - "all present" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s # 768s ok 871 - type.json: "integer type matches integers" - "an integer is an integer" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 872 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 873 - type.json: "integer type matches integers" - "a float is not an integer" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got number, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got number, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 874 - type.json: "integer type matches integers" - "a string is not an integer" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 875 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got string, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 876 - type.json: "integer type matches integers" - "an object is not an integer" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got object, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 877 - type.json: "integer type matches integers" - "an array is not an integer" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got array, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got array, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 878 - type.json: "integer type matches integers" - "a boolean is not an integer" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got boolean, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 879 - type.json: "integer type matches integers" - "null is not an integer" { 768s # result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got null, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 768s # "error": "got null, not integer", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 880 - type.json: "number type matches numbers" - "an integer is a number" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 881 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 882 - type.json: "number type matches numbers" - "a float is a number" { 768s # result: { 768s # "valid": true 768s # } 768s # short-circuited result: { 768s # "valid": true 768s # } 768s ok 1 - test passes: data is valid: true 768s 1..1 768s } 768s ok 883 - type.json: "number type matches numbers" - "a string is not a number" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 884 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got string, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s ok 1 - test passes: data is valid: false 768s 1..1 768s } 768s ok 885 - type.json: "number type matches numbers" - "an object is not a number" { 768s # result: { 768s # "errors": [ 768s # { 768s # "error": "got object, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 768s # } 768s # short-circuited result: { 768s # "errors": [ 768s # { 768s # "error": "got object, not number", 768s # "instanceLocation": "", 768s # "keywordLocation": "/type" 768s # } 768s # ], 768s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 886 - type.json: "number type matches numbers" - "an array is not a number" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not number", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not number", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 887 - type.json: "number type matches numbers" - "a boolean is not a number" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not number", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not number", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 888 - type.json: "number type matches numbers" - "null is not a number" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not number", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not number", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 889 - type.json: "string type matches strings" - "1 is not a string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got integer, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got integer, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 890 - type.json: "string type matches strings" - "a float is not a string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got number, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got number, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 891 - type.json: "string type matches strings" - "a string is a string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 892 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 893 - type.json: "string type matches strings" - "an empty string is still a string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 894 - type.json: "string type matches strings" - "an object is not a string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got object, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got object, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 895 - type.json: "string type matches strings" - "an array is not a string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got array, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got array, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 896 - type.json: "string type matches strings" - "a boolean is not a string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got boolean, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got boolean, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 897 - type.json: "string type matches strings" - "null is not a string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got null, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got null, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 898 - type.json: "object type matches objects" - "an integer is not an object" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 899 - type.json: "object type matches objects" - "a float is not an object" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 900 - type.json: "object type matches objects" - "a string is not an object" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 901 - type.json: "object type matches objects" - "an object is an object" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 902 - type.json: "object type matches objects" - "an array is not an object" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 903 - type.json: "object type matches objects" - "a boolean is not an object" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 904 - type.json: "object type matches objects" - "null is not an object" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 905 - type.json: "array type matches arrays" - "an integer is not an array" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 906 - type.json: "array type matches arrays" - "a float is not an array" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 907 - type.json: "array type matches arrays" - "a string is not an array" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 908 - type.json: "array type matches arrays" - "an object is not an array" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got object, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got object, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 909 - type.json: "array type matches arrays" - "an array is an array" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 910 - type.json: "array type matches arrays" - "a boolean is not an array" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 911 - type.json: "array type matches arrays" - "null is not an array" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not array", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 912 - type.json: "boolean type matches booleans" - "an integer is not a boolean" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 913 - type.json: "boolean type matches booleans" - "zero is not a boolean" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 914 - type.json: "boolean type matches booleans" - "a float is not a boolean" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 915 - type.json: "boolean type matches booleans" - "a string is not a boolean" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 916 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 917 - type.json: "boolean type matches booleans" - "an object is not a boolean" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got object, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got object, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 918 - type.json: "boolean type matches booleans" - "an array is not a boolean" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 919 - type.json: "boolean type matches booleans" - "true is a boolean" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 920 - type.json: "boolean type matches booleans" - "false is a boolean" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 921 - type.json: "boolean type matches booleans" - "null is not a boolean" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not boolean", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 922 - type.json: "null type matches only the null object" - "an integer is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 923 - type.json: "null type matches only the null object" - "a float is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 924 - type.json: "null type matches only the null object" - "zero is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 925 - type.json: "null type matches only the null object" - "a string is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 926 - type.json: "null type matches only the null object" - "an empty string is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 927 - type.json: "null type matches only the null object" - "an object is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got object, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got object, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 928 - type.json: "null type matches only the null object" - "an array is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 929 - type.json: "null type matches only the null object" - "true is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 930 - type.json: "null type matches only the null object" - "false is not null" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 931 - type.json: "null type matches only the null object" - "null is null" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 932 - type.json: "multiple types can be specified in an array" - "an integer is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 933 - type.json: "multiple types can be specified in an array" - "a string is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 934 - type.json: "multiple types can be specified in an array" - "a float is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got number, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 935 - type.json: "multiple types can be specified in an array" - "an object is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got object, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got object, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 936 - type.json: "multiple types can be specified in an array" - "an array is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got array, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 937 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got boolean, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 938 - type.json: "multiple types can be specified in an array" - "null is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not one of integer, string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 939 - type.json: "type as array with one item" - "string is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 940 - type.json: "type as array with one item" - "number is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not one of string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not one of string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 941 - type.json: "type: array or object" - "array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 942 - type.json: "type: array or object" - "object is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 943 - type.json: "type: array or object" - "number is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not one of array, object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not one of array, object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 944 - type.json: "type: array or object" - "string is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not one of array, object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not one of array, object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 945 - type.json: "type: array or object" - "null is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not one of array, object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got null, not one of array, object", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 946 - type.json: "type: array, object or null" - "array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 947 - type.json: "type: array, object or null" - "object is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 948 - type.json: "type: array, object or null" - "null is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 949 - type.json: "type: array, object or null" - "number is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not one of array, object, null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not one of array, object, null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 950 - type.json: "type: array, object or null" - "string is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not one of array, object, null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not one of array, object, null", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s # 769s ok 951 - unevaluatedItems.json: "unevaluatedItems true" - "with no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 952 - unevaluatedItems.json: "unevaluatedItems true" - "with unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 953 - unevaluatedItems.json: "unevaluatedItems false" - "with no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 954 - unevaluatedItems.json: "unevaluatedItems false" - "with unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 955 - unevaluatedItems.json: "unevaluatedItems as schema" - "with no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 956 - unevaluatedItems.json: "unevaluatedItems as schema" - "with valid unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 957 - unevaluatedItems.json: "unevaluatedItems as schema" - "with invalid unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not string", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems/type" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not string", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems/type" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 958 - unevaluatedItems.json: "unevaluatedItems with uniform items" - "unevaluatedItems doesn't apply" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 959 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 960 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/1", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/1", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 961 - unevaluatedItems.json: "unevaluatedItems with items and additionalItems" - "unevaluatedItems doesn't apply" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 962 - unevaluatedItems.json: "unevaluatedItems with ignored additionalItems" - "invalid under unevaluatedItems" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not string", 769s # "instanceLocation": "/1", 769s # "keywordLocation": "/unevaluatedItems/type" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not string", 769s # "instanceLocation": "/1", 769s # "keywordLocation": "/unevaluatedItems/type" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 963 - unevaluatedItems.json: "unevaluatedItems with ignored additionalItems" - "all valid under unevaluatedItems" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 964 - unevaluatedItems.json: "unevaluatedItems with ignored applicator additionalItems" - "invalid under unevaluatedItems" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not string", 769s # "instanceLocation": "/1", 769s # "keywordLocation": "/unevaluatedItems/type" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got integer, not string", 769s # "instanceLocation": "/1", 769s # "keywordLocation": "/unevaluatedItems/type" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 965 - unevaluatedItems.json: "unevaluatedItems with ignored applicator additionalItems" - "all valid under unevaluatedItems" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 966 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 967 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 968 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with only (valid) additional items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 969 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with no additional items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 970 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with invalid additional item" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not boolean", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems/type" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not boolean", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems/type" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 971 - unevaluatedItems.json: "unevaluatedItems with nested items and additionalItems" - "with no additional items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 972 - unevaluatedItems.json: "unevaluatedItems with nested items and additionalItems" - "with additional items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 973 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with no additional items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 974 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with additional items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 975 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 976 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 977 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 978 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/3", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/3", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 979 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 980 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 981 - unevaluatedItems.json: "unevaluatedItems with not" - "with unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/1", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/1", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 982 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 983 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/3", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/3", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 984 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 985 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/4", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/4", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 986 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 987 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 988 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with no unevaluated items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 989 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with unevaluated items" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 990 - unevaluatedItems.json: "unevaluatedItems can't see inside cousins" - "always fails" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/allOf/1/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/allOf/1/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 991 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "no extra items" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 992 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "uncle keyword evaluation is not significant" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/foo/1", 769s # "keywordLocation": "/properties/foo/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/properties/foo/unevaluatedItems" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/foo/1", 769s # "keywordLocation": "/properties/foo/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/properties/foo/unevaluatedItems" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 993 - unevaluatedItems.json: "non-array instances are valid" - "ignores booleans" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 994 - unevaluatedItems.json: "non-array instances are valid" - "ignores integers" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 995 - unevaluatedItems.json: "non-array instances are valid" - "ignores floats" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 996 - unevaluatedItems.json: "non-array instances are valid" - "ignores objects" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 997 - unevaluatedItems.json: "non-array instances are valid" - "ignores strings" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 998 - unevaluatedItems.json: "non-array instances are valid" - "ignores null" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 999 - unevaluatedItems.json: "unevaluatedItems with null instance elements" - "allows null elements" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1000 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "valid in case if is evaluated" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1001 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "invalid in case if is evaluated" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/unevaluatedItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s # 769s ok 1002 - unevaluatedProperties.json: "unevaluatedProperties true" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1003 - unevaluatedProperties.json: "unevaluatedProperties true" - "with unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1004 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1005 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with valid unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1006 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with invalid unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "length is less than 3", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties/minLength" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "length is less than 3", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties/minLength" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1007 - unevaluatedProperties.json: "unevaluatedProperties false" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1008 - unevaluatedProperties.json: "unevaluatedProperties false" - "with unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1009 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1010 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1011 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1012 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1013 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with no additional properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1014 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with additional properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1015 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with no additional properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1016 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with additional properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1017 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with no additional properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1018 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with additional properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1019 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with no additional properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1020 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with additional properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1021 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with no nested unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1022 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with nested unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1023 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1024 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1025 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1026 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/quux", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/quux", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1027 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1028 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/quux", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/quux", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1029 - unevaluatedProperties.json: "unevaluatedProperties with not" - "with unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1030 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1031 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1032 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1033 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1034 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has no unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1035 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1036 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1037 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1038 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1039 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1040 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has no unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1041 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1042 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1043 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1044 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1045 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1046 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with no unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1047 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/baz", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1048 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins" - "always fails" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1049 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins (reverse order)" - "always fails" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1050 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with no nested unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1051 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with nested unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1052 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with no nested unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1053 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with nested unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1054 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with no nested unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1055 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with nested unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1056 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with no nested unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1057 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with nested unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1058 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with no nested unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1059 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with nested unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1060 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with no nested unevaluated properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1061 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with nested unevaluated properties" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/1/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 1 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1062 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "no extra properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1063 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "uncle keyword evaluation is not significant" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo/faz", 769s # "keywordLocation": "/properties/foo/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/properties/foo/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo/faz", 769s # "keywordLocation": "/properties/foo/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/properties/foo/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1064 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "base case: both properties present" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1065 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, bar is missing" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1066 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, foo is missing" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "subschema 0 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1067 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "base case: both properties present" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1068 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, bar is missing" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1069 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, foo is missing" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1070 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Empty is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1071 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Single is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1072 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 1st level is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/y", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/y", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1073 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Nested is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1074 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 2nd level is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/unevaluatedProperties", 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/x/y", 769s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/unevaluatedProperties", 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "/x", 769s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/unevaluatedProperties", 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/x/y", 769s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/unevaluatedProperties", 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "/x", 769s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1075 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Deep nested is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1076 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 3rd level is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/unevaluatedProperties", 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/x/x/y", 769s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/unevaluatedProperties", 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "/x/x", 769s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/properties", 769s # "error": "not all properties are valid", 769s # "instanceLocation": "/x", 769s # "keywordLocation": "/properties/x/$ref/properties" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/unevaluatedProperties", 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/x/x/y", 769s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/unevaluatedProperties", 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "/x/x", 769s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/properties", 769s # "error": "not all properties are valid", 769s # "instanceLocation": "/x", 769s # "keywordLocation": "/properties/x/$ref/properties" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1077 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "Empty is invalid (no x or y)" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/required", 769s # "error": "object is missing property: x", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 769s # }, 769s # { 769s # "error": "object is missing property: y", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf" 769s # }, 769s # { 769s # "error": "subschema 2 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/required", 769s # "error": "object is missing property: x", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 769s # }, 769s # { 769s # "error": "object is missing property: y", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf" 769s # }, 769s # { 769s # "error": "subschema 2 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1078 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b are invalid (no x or y)" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/required", 769s # "error": "object is missing property: x", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 769s # }, 769s # { 769s # "error": "object is missing property: y", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf" 769s # }, 769s # { 769s # "error": "subschema 2 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/required", 769s # "error": "object is missing property: x", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 769s # }, 769s # { 769s # "error": "object is missing property: y", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf" 769s # }, 769s # { 769s # "error": "subschema 2 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1079 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "x and y are invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf" 769s # }, 769s # { 769s # "error": "subschema 2 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/x", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/y", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf" 769s # }, 769s # { 769s # "error": "subschema 2 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/x", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/y", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1080 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and x are valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1081 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and y are valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1082 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x are valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1083 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and y are valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1084 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x and y are invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf" 769s # }, 769s # { 769s # "error": "subschema 2 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/x", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/y", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf/2/oneOf" 769s # }, 769s # { 769s # "error": "subschema 2 is not valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/allOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/x", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/y", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1085 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "Empty is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required", 769s # "error": "object is missing property: c", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required", 769s # "error": "object is missing property: d", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 769s # "error": "object is missing property: b", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 769s # "error": "object is missing property: xx", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 769s # "error": "object is missing property: all", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required", 769s # "error": "object is missing property: c", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required", 769s # "error": "object is missing property: d", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 769s # "error": "object is missing property: b", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 769s # "error": "object is missing property: xx", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 769s # "error": "object is missing property: all", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1086 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1087 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1088 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1089 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "d is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1090 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + b is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1091 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + c is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1092 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + d is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1093 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + c is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/b", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/c", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/b", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/c", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1094 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + d is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/b", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/d", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/b", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/d", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1095 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c + d is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 769s # "error": "object is missing property: b", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 769s # "error": "object is missing property: xx", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 769s # "error": "object is missing property: all", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/c", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/d", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 769s # "error": "object is missing property: b", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 769s # "error": "object is missing property: xx", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 769s # "error": "object is missing property: all", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/c", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/d", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1096 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1097 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foox is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1098 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foo is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/foo", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1099 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + a is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1100 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + b is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 1, 2", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/b", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/xx", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 1, 2", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/b", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/xx", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1101 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + c is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 0, 2", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/c", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/xx", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 0, 2", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/c", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/xx", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1102 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + d is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 0, 2", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/d", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/xx", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 769s # "error": "multiple subschemas are valid: 0, 2", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/0/$ref/oneOf" 769s # }, 769s # { 769s # "error": "object is missing property: a", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf/1/required" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/d", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/xx", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1103 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1104 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + foo is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1105 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + a is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "multiple subschemas are valid: 0, 1", 769s # "instanceLocation": "", 769s # "keywordLocation": "/oneOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1106 - unevaluatedProperties.json: "non-object instances are valid" - "ignores booleans" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1107 - unevaluatedProperties.json: "non-object instances are valid" - "ignores integers" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1108 - unevaluatedProperties.json: "non-object instances are valid" - "ignores floats" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1109 - unevaluatedProperties.json: "non-object instances are valid" - "ignores arrays" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1110 - unevaluatedProperties.json: "non-object instances are valid" - "ignores strings" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1111 - unevaluatedProperties.json: "non-object instances are valid" - "ignores null" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1112 - unevaluatedProperties.json: "unevaluatedProperties with null valued instance properties" - "allows null valued properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1113 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "allows only number properties" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1114 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "string property is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not number", 769s # "instanceLocation": "/a", 769s # "keywordLocation": "/unevaluatedProperties/type" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not number", 769s # "instanceLocation": "/a", 769s # "keywordLocation": "/unevaluatedProperties/type" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1115 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "valid in case if is evaluated" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1116 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "invalid in case if is evaluated" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/unevaluatedProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/unevaluatedProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s # 769s ok 1117 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1118 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1119 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 2 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 2 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1120 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1121 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1122 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1123 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1124 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 2 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 2 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1125 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1126 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1127 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1128 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1129 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1130 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1131 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1132 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 2 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 2 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1133 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1134 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1135 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1136 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1137 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1138 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1139 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1140 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 4 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 4 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1141 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1142 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1143 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1144 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1145 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1146 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1147 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1148 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1149 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1150 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1151 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 2 and 3 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 2 and 3 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1152 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 2 and 3 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 2 and 3 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1153 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1154 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1155 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1156 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "items at indices 0 and 1 are not unique", 769s # "instanceLocation": "", 769s # "keywordLocation": "/uniqueItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1157 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/additionalItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/additionalItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1158 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1159 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1160 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1161 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1162 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1163 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1164 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1165 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1166 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1167 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1168 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1169 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1170 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1171 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1172 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1173 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1174 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1175 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1176 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1177 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1178 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1179 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1180 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1181 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1182 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1183 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1184 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1185 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/additionalItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional item not permitted", 769s # "instanceLocation": "/2", 769s # "keywordLocation": "/additionalItems" 769s # }, 769s # { 769s # "error": "subschema is not valid against all additional items", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s # 769s 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" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1187 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 769s # "error": "subschema is valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/0/$ref/not" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 769s # "error": "subschema is valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/1/$ref/not" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type", 769s # "error": "got null, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/2/$ref/type" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 769s # "error": "subschema is valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/0/$ref/not" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 769s # "error": "subschema is valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/1/$ref/not" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type", 769s # "error": "got null, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/2/$ref/type" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1188 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 769s # "error": "subschema is valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/0/$ref/not" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 769s # "error": "subschema is valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/1/$ref/not" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type", 769s # "error": "got integer, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/2/$ref/type" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 769s # "error": "subschema is valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/0/$ref/not" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 769s # "error": "subschema is valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/1/$ref/not" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type", 769s # "error": "got integer, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf/2/$ref/type" 769s # }, 769s # { 769s # "error": "no subschemas are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/anyOf" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s # 769s ok 1189 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "applicator vocabulary still works" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty", 769s # "error": "property not permitted", 769s # "instanceLocation": "/badProperty", 769s # "keywordLocation": "/properties/badProperty" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties", 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty", 769s # "error": "property not permitted", 769s # "instanceLocation": "/badProperty", 769s # "keywordLocation": "/properties/badProperty" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties", 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/properties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1190 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: valid number" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1191 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: invalid number, but it still validates" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1192 - vocabulary.json: "ignore unrecognized optional vocabulary" - "string value" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not number", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not number", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1193 - vocabulary.json: "ignore unrecognized optional vocabulary" - "number value" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s # 769s ok 1194 - optional/bignum.json: "integer" - "a bignum is an integer" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1195 - optional/bignum.json: "integer" - "a negative bignum is an integer" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1196 - optional/bignum.json: "number" - "a bignum is a number" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1197 - optional/bignum.json: "number" - "a negative bignum is a number" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1198 - optional/bignum.json: "string" - "a bignum is not a string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got integer, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 769s # "error": "got integer, not string", 769s # "instanceLocation": "", 769s # "keywordLocation": "/type" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1199 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1200 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 769s # "instanceLocation": "", 769s # "keywordLocation": "/exclusiveMaximum" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 769s # "instanceLocation": "", 769s # "keywordLocation": "/exclusiveMaximum" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1201 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1202 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 769s # "instanceLocation": "", 769s # "keywordLocation": "/exclusiveMinimum" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 769s # "instanceLocation": "", 769s # "keywordLocation": "/exclusiveMinimum" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s # 769s ok 1203 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "first item not a string is invalid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems/0/type", 769s # "error": "got integer, not string", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/$ref/prefixItems/0/type" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems", 769s # "error": "not all items are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/$ref/prefixItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems/0/type", 769s # "error": "got integer, not string", 769s # "instanceLocation": "/0", 769s # "keywordLocation": "/$ref/prefixItems/0/type" 769s # }, 769s # { 769s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems", 769s # "error": "not all items are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/$ref/prefixItems" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1204 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "first item is a string is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1205 - optional/cross-draft.json: "refs to historic drafts are processed as historic drafts" - "missing bar is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s # 769s ok 1206 - optional/dependencies-compatibility.json: "single dependency" - "neither" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1207 - optional/dependencies-compatibility.json: "single dependency" - "nondependant" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1208 - optional/dependencies-compatibility.json: "single dependency" - "with dependency" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1209 - optional/dependencies-compatibility.json: "single dependency" - "missing dependency" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1210 - optional/dependencies-compatibility.json: "single dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1211 - optional/dependencies-compatibility.json: "single dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1212 - optional/dependencies-compatibility.json: "single dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1213 - optional/dependencies-compatibility.json: "empty dependents" - "empty object" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1214 - optional/dependencies-compatibility.json: "empty dependents" - "object with one property" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1215 - optional/dependencies-compatibility.json: "empty dependents" - "non-object is valid" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1216 - optional/dependencies-compatibility.json: "multiple dependents required" - "neither" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1217 - optional/dependencies-compatibility.json: "multiple dependents required" - "nondependants" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1218 - optional/dependencies-compatibility.json: "multiple dependents required" - "with dependencies" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1219 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing dependency" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1220 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing other dependency" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1221 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing both dependencies" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1222 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1223 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1224 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF missing dependent" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1225 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1226 - optional/dependencies-compatibility.json: "single schema dependency" - "valid" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1227 - optional/dependencies-compatibility.json: "single schema dependency" - "no dependency" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1228 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1229 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type other" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1230 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type both" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1231 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1232 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1233 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1234 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema true is valid" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1235 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema false is invalid" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1236 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with both properties is invalid" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1237 - optional/dependencies-compatibility.json: "boolean subschemas" - "empty object is valid" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1238 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s ok 1239 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1240 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab invalid under dependent schema" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1241 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote invalid under dependent schema" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s # 769s ok 1242 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1243 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1244 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1245 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1246 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1247 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1248 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1249 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1250 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s 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" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false # 769s 1..1 769s } 769s 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" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected true; got false 769s # { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s 1..1 769s } 769s 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" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected true; got false 769s # { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s 1..1 769s } 769s ok 1256 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true # 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s 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" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false # 769s 1..1 769s } 769s 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" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected true; got false 769s # { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s 1..1 769s } 769s ok 1260 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1261 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1262 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1263 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1264 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1265 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected true; got false 769s # { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s 1..1 769s } 769s ok 1266 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1267 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1268 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1269 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1270 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1271 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1272 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1273 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1274 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1275 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1277 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1278 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1279 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1280 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1281 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1282 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1283 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1284 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1285 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1286 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1289 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1290 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1291 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1292 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1293 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1294 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1296 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1297 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1298 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1299 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1300 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1301 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1302 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/L'ÉCOLE", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/L'ÉCOLE", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1303 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1306 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/L'ÉCOLE", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/L'ÉCOLE", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1307 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/l'école", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/l'école", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1308 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/l'école", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/l'école", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1309 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1310 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1311 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/-%#", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/-%#", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s 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" 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected false; got true 769s # { 769s # "valid": true 769s # } 769s 1..1 769s } 769s ok 1313 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1314 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/-%#", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "additional property not permitted", 769s # "instanceLocation": "/-%#", 769s # "keywordLocation": "/additionalProperties" 769s # }, 769s # { 769s # "error": "not all additional properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/additionalProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1315 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s # 769s ok 1316 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s # 769s ok 1317 - optional/no-schema.json: "validation without $schema" - "a 3-character string is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1318 - optional/no-schema.json: "validation without $schema" - "a 1-character string is not valid" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "length is less than 2", 769s # "instanceLocation": "", 769s # "keywordLocation": "/minLength" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "length is less than 2", 769s # "instanceLocation": "", 769s # "keywordLocation": "/minLength" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1319 - optional/no-schema.json: "validation without $schema" - "a non-string is valid" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s # 769s ok 1320 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1321 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1322 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1323 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1324 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1325 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1326 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "pattern does not match", 769s # "instanceLocation": "", 769s # "keywordLocation": "/pattern" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1327 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1328 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1329 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" { 769s # result: { 769s # "valid": true 769s # } 769s # short-circuited result: { 769s # "valid": true 769s # } 769s ok 1 - test passes: data is valid: true 769s 1..1 769s } 769s ok 1330 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not integer", 769s # "instanceLocation": "/🐲", 769s # "keywordLocation": "/patternProperties/^🐲*$/type" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/patternProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not integer", 769s # "instanceLocation": "/🐲", 769s # "keywordLocation": "/patternProperties/^🐲*$/type" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/patternProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s ok 1331 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" { 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not integer", 769s # "instanceLocation": "/🐲🐲", 769s # "keywordLocation": "/patternProperties/^🐲*$/type" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/patternProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "got string, not integer", 769s # "instanceLocation": "/🐲🐲", 769s # "keywordLocation": "/patternProperties/^🐲*$/type" 769s # }, 769s # { 769s # "error": "not all properties are valid", 769s # "instanceLocation": "", 769s # "keywordLocation": "/patternProperties" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false 769s 1..1 769s } 769s # 769s ok 1332 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "match" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected true; got false 769s # { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s 1..1 769s } 769s ok 1333 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "mismatch" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false # 769s 1..1 769s } 769s ok 1334 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "match" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s not ok 1 - evaluation result is incorrect # 769s # Failed test (with amnesty) 'evaluation result is incorrect' 769s # at t/zzz-acceptance-draft2019-09.t line 45. 769s # expected true; got false 769s # { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s 1..1 769s } 769s ok 1335 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "mismatch" { # TODO Test marked TODO via "todo_tests" 769s # result: { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s # short-circuited result: { 769s # "errors": [ 769s # { 769s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 769s # "instanceLocation": "/bar", 769s # "keywordLocation": "/properties/bar/$ref" 769s # } 769s # ], 769s # "valid": false 769s # } 769s ok 1 - test passes: data is valid: false # 769s 1..1 769s } 769s # 769s # 769s # Results using Test::JSON::Schema::Acceptance 1.021 769s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 769s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 769s # specification version: draft2019-09 769s # optional tests included: yes 769s # skipping directory: optional/format 769s # 769s # filename pass todo-fail fail 769s # --------------------------------------------------------------- 769s # additionalItems.json 18 0 0 769s # additionalProperties.json 16 0 0 769s # allOf.json 30 0 0 769s # anchor.json 17 0 0 769s # anyOf.json 18 0 0 769s # boolean_schema.json 18 0 0 769s # const.json 50 0 0 769s # contains.json 21 0 0 769s # content.json 18 0 0 769s # default.json 7 0 0 769s # defs.json 2 0 0 769s # dependentRequired.json 20 0 0 769s # dependentSchemas.json 20 0 0 769s # enum.json 33 0 0 769s # exclusiveMaximum.json 4 0 0 769s # exclusiveMinimum.json 4 0 0 769s # format.json 114 0 0 769s # id.json 18 0 0 769s # if-then-else.json 26 0 0 769s # infinite-loop-detection.json 2 0 0 769s # items.json 28 0 0 769s # maxContains.json 12 0 0 769s # maxItems.json 6 0 0 769s # maxLength.json 7 0 0 769s # maxProperties.json 10 0 0 769s # maximum.json 8 0 0 769s # minContains.json 28 0 0 769s # minItems.json 6 0 0 769s # minLength.json 7 0 0 769s # minProperties.json 8 0 0 769s # minimum.json 11 0 0 769s # multipleOf.json 10 0 0 769s # not.json 14 0 0 769s # oneOf.json 27 0 0 769s # pattern.json 9 0 0 769s # patternProperties.json 23 0 0 769s # properties.json 28 0 0 769s # propertyNames.json 13 0 0 769s # recursiveRef.json 34 0 0 769s # ref.json 78 0 0 769s # refRemote.json 31 0 0 769s # required.json 16 0 0 769s # type.json 80 0 0 769s # unevaluatedItems.json 51 0 0 769s # unevaluatedProperties.json 115 0 0 769s # uniqueItems.json 69 0 0 769s # unknownKeyword.json 3 0 0 769s # vocabulary.json 5 0 0 769s # optional/bignum.json 9 0 0 769s # optional/cross-draft.json 3 0 0 769s # optional/dependencies-compatibility.json 22 14 0 769s # optional/ecmascript-regex.json 60 14 0 769s # optional/float-overflow.json 1 0 0 769s # optional/no-schema.json 3 0 0 769s # optional/non-bmp-regex.json 12 0 0 769s # optional/refOfUnknownKeyword.json 2 2 0 769s # --------------------------------------------------------------- 769s # TOTAL 1305 30 0 769s # 769s # Congratulations, all non-optional tests are passing! 769s # 769s ok 1336 - no leaks in the main evaluator object 769s ok 1337 - no leaks in the short-circuiting evaluator object 769s 1..1337 769s ok 777s t/zzz-acceptance-draft2020-12-format.t .. 777s # AUTHOR_TESTING: 777s # AUTOMATED_TESTING: 1 777s # EXTENDED_TESTING: 777s # NO_TODO: 777s # TEST_DIR: 777s # NO_SHORT_CIRCUIT: 777s # 777s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2020-12/optional/format against draft2020-12... 777s # 777s ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date-time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 32 - date.json: "validation of date strings" - "a valid date string" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 60 - date.json: "validation of date strings" - "an invalid date string" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 64 - date.json: "validation of date strings" - "invalid month" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 65 - date.json: "validation of date strings" - "invalid month-day combination" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 67 - date.json: "validation of date strings" - "2020 is a leap year" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid date", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 73 - duration.json: "validation of duration strings" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 74 - duration.json: "validation of duration strings" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 75 - duration.json: "validation of duration strings" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 76 - duration.json: "validation of duration strings" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 77 - duration.json: "validation of duration strings" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 78 - duration.json: "validation of duration strings" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 79 - duration.json: "validation of duration strings" - "a valid duration string" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 80 - duration.json: "validation of duration strings" - "an invalid duration string" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 81 - duration.json: "validation of duration strings" - "no elements present" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 82 - duration.json: "validation of duration strings" - "no time elements present" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 83 - duration.json: "validation of duration strings" - "no date or time elements present" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 84 - duration.json: "validation of duration strings" - "elements out of order" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 85 - duration.json: "validation of duration strings" - "missing time separator" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 86 - duration.json: "validation of duration strings" - "time element in the date position" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 87 - duration.json: "validation of duration strings" - "four years duration" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 88 - duration.json: "validation of duration strings" - "zero time, in seconds" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 89 - duration.json: "validation of duration strings" - "zero time, in days" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 90 - duration.json: "validation of duration strings" - "one month duration" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 91 - duration.json: "validation of duration strings" - "one minute duration" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 92 - duration.json: "validation of duration strings" - "one and a half days, in hours" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 93 - duration.json: "validation of duration strings" - "one and a half days, in days and hours" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 94 - duration.json: "validation of duration strings" - "two weeks" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 95 - duration.json: "validation of duration strings" - "weeks cannot be combined with other units" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 96 - duration.json: "validation of duration strings" - "invalid non-ASCII '২' (a Bengali 2)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 97 - duration.json: "validation of duration strings" - "element without unit" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid duration", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 98 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 99 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 100 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 101 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 102 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 103 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 104 - email.json: "validation of e-mail addresses" - "a valid e-mail address" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 105 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 106 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 107 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 108 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 109 - email.json: "validation of e-mail addresses" - "a quoted string with a space in the local part is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 110 - email.json: "validation of e-mail addresses" - "a quoted string with a double dot in the local part is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 111 - email.json: "validation of e-mail addresses" - "a quoted string with a @ in the local part is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 112 - email.json: "validation of e-mail addresses" - "an IPv4-address-literal after the @ is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 113 - email.json: "validation of e-mail addresses" - "an IPv6-address-literal after the @ is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 114 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 115 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 116 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 117 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 118 - email.json: "validation of e-mail addresses" - "an invalid domain" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected false; got true 777s # { 777s # "valid": true 777s # } 777s 1..1 777s } 777s ok 119 - email.json: "validation of e-mail addresses" - "an invalid IPv4-address-literal" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected false; got true 777s # { 777s # "valid": true 777s # } 777s 1..1 777s } 777s # 777s ok 120 - hostname.json: "validation of host names" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 121 - hostname.json: "validation of host names" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 122 - hostname.json: "validation of host names" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 123 - hostname.json: "validation of host names" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 124 - hostname.json: "validation of host names" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 125 - hostname.json: "validation of host names" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 126 - hostname.json: "validation of host names" - "a valid host name" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 127 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 128 - hostname.json: "validation of host names" - "a host name starting with an illegal character" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 129 - hostname.json: "validation of host names" - "a host name containing illegal characters" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 130 - hostname.json: "validation of host names" - "a host name with a component too long" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 131 - hostname.json: "validation of host names" - "starts with hyphen" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 132 - hostname.json: "validation of host names" - "ends with hyphen" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 133 - hostname.json: "validation of host names" - "starts with underscore" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 134 - hostname.json: "validation of host names" - "ends with underscore" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 135 - hostname.json: "validation of host names" - "contains underscore" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 136 - hostname.json: "validation of host names" - "maximum label length" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 137 - hostname.json: "validation of host names" - "exceeds maximum label length" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 138 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 139 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 140 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 141 - hostname.json: "validation of host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 142 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s # 777s ok 143 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 144 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 145 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 146 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 147 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 148 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 149 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 150 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 151 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 152 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-email", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 153 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 154 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 155 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 156 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 157 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 158 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s 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" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s 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" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected false; got true 777s # { 777s # "valid": true 777s # } 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 163 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 164 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 165 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 167 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 168 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 170 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 171 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 172 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 177 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 178 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 179 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 180 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 181 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 182 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 183 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 184 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 185 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 186 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 187 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 188 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 189 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 190 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 192 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 193 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 194 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 195 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 199 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 200 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false # 777s 1..1 777s } 777s ok 201 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 202 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s 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" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 204 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 205 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 206 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 207 - idn-hostname.json: "validation of internationalized host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s ok 208 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected true; got false 777s # { 777s # "errors": [ 777s # { 777s # "error": "not a valid idn-hostname", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s 1..1 777s } 777s # 777s ok 209 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 210 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 211 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 212 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 213 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 214 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 215 - ipv4.json: "validation of IP addresses" - "a valid IP address" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 216 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 217 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 218 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 219 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 220 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 221 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 222 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 223 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 224 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv4", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 225 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 226 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 227 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 228 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 229 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 230 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 231 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 232 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 233 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 234 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 235 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 236 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 237 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 238 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 239 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 240 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 241 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 242 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 243 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 244 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 245 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 246 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 247 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 248 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 249 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 250 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 251 - ipv6.json: "validation of IPv6 addresses" - "8 octets" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 252 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 253 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 254 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 255 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 256 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 257 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 258 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 259 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 260 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 261 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 262 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 263 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 264 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid ipv6", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 265 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 266 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 267 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 268 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 269 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 270 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 271 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 272 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 273 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 274 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected false; got true 777s # { 777s # "valid": true 777s # } 777s 1..1 777s } 777s ok 275 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 276 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 277 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected false; got true 777s # { 777s # "valid": true 777s # } 777s 1..1 777s } 777s # 777s ok 278 - iri.json: "validation of IRIs" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 279 - iri.json: "validation of IRIs" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 280 - iri.json: "validation of IRIs" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 281 - iri.json: "validation of IRIs" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 282 - iri.json: "validation of IRIs" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 283 - iri.json: "validation of IRIs" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 284 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 285 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 286 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 287 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 288 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 289 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected false; got true 777s # { 777s # "valid": true 777s # } 777s 1..1 777s } 777s ok 290 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid iri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid iri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 291 - iri.json: "validation of IRIs" - "an invalid IRI" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid iri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid iri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 292 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid iri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid iri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 293 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 294 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 295 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 296 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 297 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 298 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 299 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 300 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 301 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 302 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 303 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 304 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 305 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 306 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 307 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 308 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 309 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 310 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 311 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 312 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 313 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 314 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 315 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 316 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 317 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 318 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 319 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 320 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 321 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 322 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 323 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 324 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 325 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 326 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 327 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 328 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 329 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 330 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 331 - regex.json: "validation of regular expressions" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 332 - regex.json: "validation of regular expressions" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 333 - regex.json: "validation of regular expressions" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 334 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 335 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 336 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 337 - regex.json: "validation of regular expressions" - "a valid regular expression" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 338 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid regex", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid regex", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 339 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 340 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 341 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 342 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 343 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 344 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 345 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 346 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 347 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 348 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 349 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 350 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 351 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 352 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 353 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 354 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 355 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid relative-json-pointer", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 356 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s # 777s ok 357 - time.json: "validation of time strings" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 358 - time.json: "validation of time strings" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 359 - time.json: "validation of time strings" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 360 - time.json: "validation of time strings" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 361 - time.json: "validation of time strings" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 362 - time.json: "validation of time strings" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 363 - time.json: "validation of time strings" - "a valid time string" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 364 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 365 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 366 - time.json: "validation of time strings" - "hour, minute, second must be two digits" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 367 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 368 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 369 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 370 - time.json: "validation of time strings" - "valid leap second, zero time-offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 371 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 372 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 373 - time.json: "validation of time strings" - "valid leap second, positive time-offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 374 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 375 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 376 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 377 - time.json: "validation of time strings" - "valid leap second, negative time-offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 378 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 379 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 380 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 381 - time.json: "validation of time strings" - "a valid time string with second fraction" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 382 - time.json: "validation of time strings" - "a valid time string with precise second fraction" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 383 - time.json: "validation of time strings" - "a valid time string with plus offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 384 - time.json: "validation of time strings" - "a valid time string with minus offset" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 385 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 386 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 387 - time.json: "validation of time strings" - "an invalid time string with invalid hour" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 388 - time.json: "validation of time strings" - "an invalid time string with invalid minute" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 389 - time.json: "validation of time strings" - "an invalid time string with invalid second" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 390 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 391 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 392 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 393 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 394 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 395 - time.json: "validation of time strings" - "an invalid offset indicator" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 396 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 397 - time.json: "validation of time strings" - "no time offset" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 398 - time.json: "validation of time strings" - "no time offset with second fraction" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 399 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 400 - time.json: "validation of time strings" - "offset not starting with plus or minus" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 401 - time.json: "validation of time strings" - "contains letters" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid time", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 402 - unknown.json: "unknown format" - "unknown formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 403 - unknown.json: "unknown format" - "unknown formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 404 - unknown.json: "unknown format" - "unknown formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 405 - unknown.json: "unknown format" - "unknown formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 406 - unknown.json: "unknown format" - "unknown formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 407 - unknown.json: "unknown format" - "unknown formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 408 - unknown.json: "unknown format" - "unknown formats ignore strings" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s # 777s ok 409 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 410 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 411 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 412 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 413 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 414 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 415 - uri-reference.json: "validation of URI References" - "a valid URI" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 416 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 417 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 418 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri-reference", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri-reference", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 419 - uri-reference.json: "validation of URI References" - "a valid URI Reference" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 420 - uri-reference.json: "validation of URI References" - "a valid URI fragment" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 421 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri-reference", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri-reference", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s # 777s ok 422 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 423 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 424 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 425 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 426 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 427 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 428 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 429 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected false; got true 777s # { 777s # "valid": true 777s # } 777s 1..1 777s } 777s ok 430 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s ok 431 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true # 777s 1..1 777s } 777s # 777s ok 432 - uri.json: "validation of URIs" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 433 - uri.json: "validation of URIs" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 434 - uri.json: "validation of URIs" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 435 - uri.json: "validation of URIs" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 436 - uri.json: "validation of URIs" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 437 - uri.json: "validation of URIs" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 438 - uri.json: "validation of URIs" - "a valid URL with anchor tag" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 439 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 440 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 441 - uri.json: "validation of URIs" - "a valid puny-coded URL " { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 442 - uri.json: "validation of URIs" - "a valid URL with many special characters" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 443 - uri.json: "validation of URIs" - "a valid URL based on IPv4" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 444 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 445 - uri.json: "validation of URIs" - "a valid URL for a simple text file" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 446 - uri.json: "validation of URIs" - "a valid URL " { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 447 - uri.json: "validation of URIs" - "a valid mailto URI" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 448 - uri.json: "validation of URIs" - "a valid newsgroup URI" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 449 - uri.json: "validation of URIs" - "a valid tel URI" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 450 - uri.json: "validation of URIs" - "a valid URN" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 451 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 452 - uri.json: "validation of URIs" - "an invalid relative URI Reference" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 453 - uri.json: "validation of URIs" - "an invalid URI" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 454 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 455 - uri.json: "validation of URIs" - "an invalid URI with spaces" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 456 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uri", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 457 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests" 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s not ok 1 - evaluation result is incorrect # 777s # Failed test (with amnesty) 'evaluation result is incorrect' 777s # at t/zzz-acceptance-draft2020-12-format.t line 65. 777s # expected false; got true 777s # { 777s # "valid": true 777s # } 777s 1..1 777s } 777s # 777s ok 458 - uuid.json: "uuid format" - "all string formats ignore integers" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 459 - uuid.json: "uuid format" - "all string formats ignore floats" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 460 - uuid.json: "uuid format" - "all string formats ignore objects" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 461 - uuid.json: "uuid format" - "all string formats ignore arrays" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 462 - uuid.json: "uuid format" - "all string formats ignore booleans" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 463 - uuid.json: "uuid format" - "all string formats ignore nulls" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 464 - uuid.json: "uuid format" - "all upper-case" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 465 - uuid.json: "uuid format" - "all lower-case" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 466 - uuid.json: "uuid format" - "mixed case" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 467 - uuid.json: "uuid format" - "all zeroes is valid" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 468 - uuid.json: "uuid format" - "wrong length" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 469 - uuid.json: "uuid format" - "missing section" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 470 - uuid.json: "uuid format" - "bad characters (not hex)" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 471 - uuid.json: "uuid format" - "no dashes" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 472 - uuid.json: "uuid format" - "too few dashes" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 473 - uuid.json: "uuid format" - "too many dashes" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 474 - uuid.json: "uuid format" - "dashes in the wrong spot" { 777s # result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s # short-circuited result: { 777s # "errors": [ 777s # { 777s # "error": "not a valid uuid", 777s # "instanceLocation": "", 777s # "keywordLocation": "/format" 777s # } 777s # ], 777s # "valid": false 777s # } 777s ok 1 - test passes: data is valid: false 777s 1..1 777s } 777s ok 475 - uuid.json: "uuid format" - "valid version 4" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 476 - uuid.json: "uuid format" - "valid version 5" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 477 - uuid.json: "uuid format" - "hypothetical version 6" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s ok 478 - uuid.json: "uuid format" - "hypothetical version 15" { 777s # result: { 777s # "valid": true 777s # } 777s # short-circuited result: { 777s # "valid": true 777s # } 777s ok 1 - test passes: data is valid: true 777s 1..1 777s } 777s # 777s # 777s # Results using Test::JSON::Schema::Acceptance 1.021 777s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 777s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 777s # specification version: draft2020-12 777s # using custom test directory: /optional/format 777s # optional tests included: yes 777s # 777s # filename pass todo-fail fail 777s # --------------------------------------------------------------- 777s # date-time.json 25 0 0 777s # date.json 47 0 0 777s # duration.json 25 0 0 777s # email.json 20 2 0 777s # hostname.json 18 5 0 777s # idn-email.json 10 0 0 777s # idn-hostname.json 35 21 0 777s # ipv4.json 16 0 0 777s # ipv6.json 40 0 0 777s # iri-reference.json 11 2 0 777s # iri.json 14 1 0 777s # json-pointer.json 38 0 0 777s # regex.json 8 0 0 777s # relative-json-pointer.json 18 0 0 777s # time.json 45 0 0 777s # unknown.json 7 0 0 777s # uri-reference.json 13 0 0 777s # uri-template.json 9 1 0 777s # uri.json 25 1 0 777s # uuid.json 21 0 0 777s # --------------------------------------------------------------- 777s # TOTAL 445 33 0 777s # 777s # Congratulations, all non-optional tests are passing! 777s # 777s ok 479 - no leaks in the main evaluator object 777s ok 480 - no leaks in the short-circuiting evaluator object 777s 1..480 777s ok 821s t/zzz-acceptance-draft2020-12.t ......... 821s # AUTHOR_TESTING: 821s # AUTOMATED_TESTING: 1 821s # EXTENDED_TESTING: 821s # NO_TODO: 821s # TEST_DIR: 821s # NO_SHORT_CIRCUIT: 821s # 821s # adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"... 821s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2020-12 against draft2020-12... 821s # 821s ok 1 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 2 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 3 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 4 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 5 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 6 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 7 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 8 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/élmény", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/élmény", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 9 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 10 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 11 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/additionalProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/additionalProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 12 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 13 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/additionalProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/additionalProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 14 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 15 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/additionalProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/additionalProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 16 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 17 - allOf.json: "allOf" - "allOf" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 18 - allOf.json: "allOf" - "mismatch second" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/required" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/required" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 19 - allOf.json: "allOf" - "mismatch first" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/required" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/required" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 20 - allOf.json: "allOf" - "wrong type" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/properties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/properties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 21 - allOf.json: "allOf with base schema" - "valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 22 - allOf.json: "allOf with base schema" - "mismatch base schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 23 - allOf.json: "allOf with base schema" - "mismatch first allOf" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/required" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/required" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 24 - allOf.json: "allOf with base schema" - "mismatch second allOf" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: baz", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/required" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: baz", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/required" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 25 - allOf.json: "allOf with base schema" - "mismatch both" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/required" 821s # }, 821s # { 821s # "error": "object is missing property: baz", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/required" 821s # }, 821s # { 821s # "error": "subschemas 0, 1 are not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/required" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 26 - allOf.json: "allOf simple types" - "valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 27 - allOf.json: "allOf simple types" - "mismatch one" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 30", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/maximum" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 30", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/maximum" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 28 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 29 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 30 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0" 821s # }, 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1" 821s # }, 821s # { 821s # "error": "subschemas 0, 1 are not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 31 - allOf.json: "allOf with one empty schema" - "any data is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 32 - allOf.json: "allOf with two empty schemas" - "any data is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 33 - allOf.json: "allOf with the first empty schema" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 34 - allOf.json: "allOf with the first empty schema" - "string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/type" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/type" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 35 - allOf.json: "allOf with the last empty schema" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 36 - allOf.json: "allOf with the last empty schema" - "string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/type" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/type" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 37 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 38 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/allOf/0/type" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/allOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/allOf/0/type" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/allOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 39 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 5", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 40 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 41 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 5", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 42 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 43 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 5", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 44 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 45 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 5", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 5", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/multipleOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 46 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 47 - anchor.json: "Location-independent identifier" - "match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 48 - anchor.json: "Location-independent identifier" - "mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/A/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/A/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 49 - anchor.json: "Location-independent identifier with absolute URI" - "match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 50 - anchor.json: "Location-independent identifier with absolute URI" - "mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/bar#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/bar#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 51 - anchor.json: "Location-independent identifier with base URI change in subschema" - "match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 52 - anchor.json: "Location-independent identifier with base URI change in subschema" - "mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested.json#/$defs/B/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested.json#/$defs/B/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 53 - anchor.json: "$anchor inside an enum is not a real identifier" - "exact match to enum, and type matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 54 - anchor.json: "$anchor inside an enum is not a real identifier" - "in implementations that strip $anchor, this may match either $def" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/enum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 821s # "error": "got object, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/enum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 821s # "error": "got object, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 55 - anchor.json: "$anchor inside an enum is not a real identifier" - "match $ref to $anchor" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 56 - anchor.json: "$anchor inside an enum is not a real identifier" - "no match on enum or $ref to $anchor" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/enum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/enum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 57 - anchor.json: "same $anchor with different base uri" - "$ref resolves to /$defs/A/allOf/1" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 58 - anchor.json: "same $anchor with different base uri" - "$ref does not resolve to /$defs/A/allOf/0" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/child1#/allOf/1/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/child1#/allOf/1/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 59 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 60 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/$ref/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/$ref/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 61 - anchor.json: "invalid anchors" - "MUST start with a letter (and not \#)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$anchor", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$anchor", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 62 - anchor.json: "invalid anchors" - "JSON pointers are not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$anchor", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$anchor", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 63 - anchor.json: "invalid anchors" - "invalid with valid beginning" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$anchor", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$anchor", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 64 - anyOf.json: "anyOf" - "first anyOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 65 - anyOf.json: "anyOf" - "second anyOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 66 - anyOf.json: "anyOf" - "both anyOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 67 - anyOf.json: "anyOf" - "neither anyOf valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/type" 821s # }, 821s # { 821s # "error": "value is smaller than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/minimum" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/type" 821s # }, 821s # { 821s # "error": "value is smaller than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/minimum" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 68 - anyOf.json: "anyOf with base schema" - "mismatch base schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 69 - anyOf.json: "anyOf with base schema" - "one anyOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 70 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is greater than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/maxLength" 821s # }, 821s # { 821s # "error": "length is less than 4", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/minLength" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is greater than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/maxLength" 821s # }, 821s # { 821s # "error": "length is less than 4", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/minLength" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 71 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 72 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 73 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0" 821s # }, 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0" 821s # }, 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 74 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 75 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 76 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 77 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/anyOf/0/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/properties" 821s # }, 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/anyOf/1/properties/foo/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/properties" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/anyOf/0/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/properties" 821s # }, 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/anyOf/1/properties/foo/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/properties" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 78 - anyOf.json: "anyOf with one empty schema" - "string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 79 - anyOf.json: "anyOf with one empty schema" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 80 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 81 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/anyOf/0/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/anyOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/anyOf/0/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/anyOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 82 - boolean_schema.json: "boolean schema 'true'" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 83 - boolean_schema.json: "boolean schema 'true'" - "string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 84 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 85 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 86 - boolean_schema.json: "boolean schema 'true'" - "null is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 87 - boolean_schema.json: "boolean schema 'true'" - "object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 88 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 89 - boolean_schema.json: "boolean schema 'true'" - "array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 90 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 91 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 92 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 93 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 94 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 95 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 96 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 97 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 98 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 99 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 100 - const.json: "const validation" - "same value is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 101 - const.json: "const validation" - "another value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 102 - const.json: "const validation" - "another type is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 103 - const.json: "const with object" - "same object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 104 - const.json: "const with object" - "same object with different property order is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 105 - const.json: "const with object" - "another object is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 106 - const.json: "const with object" - "another type is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 107 - const.json: "const with array" - "same array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 108 - const.json: "const with array" - "another array item is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 109 - const.json: "const with array" - "array with additional items is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 110 - const.json: "const with null" - "null is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 111 - const.json: "const with null" - "not null is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 112 - const.json: "const with false does not match 0" - "false is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 113 - const.json: "const with false does not match 0" - "integer zero is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 114 - const.json: "const with false does not match 0" - "float zero is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 115 - const.json: "const with true does not match 1" - "true is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 116 - const.json: "const with true does not match 1" - "integer one is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 117 - const.json: "const with true does not match 1" - "float one is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 118 - const.json: "const with [false] does not match [0]" - "[false] is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 119 - const.json: "const with [false] does not match [0]" - "[0] is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 120 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 121 - const.json: "const with [true] does not match [1]" - "[true] is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 122 - const.json: "const with [true] does not match [1]" - "[1] is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 123 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/0\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 124 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 125 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/a\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/a\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 126 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/a\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/a\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 127 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 128 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/a\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/a\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 129 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/a\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match (differences start at \"/a\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 130 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 131 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 132 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 133 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 134 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 135 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 136 - const.json: "const with 1 does not match true" - "true is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 137 - const.json: "const with 1 does not match true" - "integer one is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 138 - const.json: "const with 1 does not match true" - "float one is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 139 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 140 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 141 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 142 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 143 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 144 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 145 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 146 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 147 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 148 - const.json: "nul characters in strings" - "match string with nul" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 149 - const.json: "nul characters in strings" - "do not match string lacking nul" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/const" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 150 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 151 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 152 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 153 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than 5", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/minimum" 821s # }, 821s # { 821s # "error": "value is smaller than 5", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/minimum" 821s # }, 821s # { 821s # "error": "value is smaller than 5", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/contains/minimum" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than 5", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/minimum" 821s # }, 821s # { 821s # "error": "value is smaller than 5", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/minimum" 821s # }, 821s # { 821s # "error": "value is smaller than 5", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/contains/minimum" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 154 - contains.json: "contains keyword validation" - "empty array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 155 - contains.json: "contains keyword validation" - "not array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 156 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 157 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 158 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 159 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 160 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 161 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 162 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 163 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 164 - contains.json: "items + contains" - "matches items, does not match contains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/multipleOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/multipleOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/contains/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/multipleOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/multipleOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/contains/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 165 - contains.json: "items + contains" - "does not match items, matches contains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/multipleOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/items/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 166 - contains.json: "items + contains" - "matches both items and contains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 167 - contains.json: "items + contains" - "matches neither items nor contains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/multipleOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/multipleOf" 821s # }, 821s # { 821s # "error": "value is not a multiple of 3", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 168 - contains.json: "contains with false if subschema" - "any non-empty array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 169 - contains.json: "contains with false if subschema" - "empty array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 170 - contains.json: "contains with null instance elements" - "allows null items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 171 - content.json: "validation of string-encoded content based on media type" - "a valid JSON document" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 172 - content.json: "validation of string-encoded content based on media type" - "an invalid JSON document; validates true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 173 - content.json: "validation of string-encoded content based on media type" - "ignores non-strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 174 - content.json: "validation of binary string-encoding" - "a valid base64 string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 175 - content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character); validates true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 176 - content.json: "validation of binary string-encoding" - "ignores non-strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 177 - content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 178 - content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document; validates true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 179 - content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON; validates true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 180 - content.json: "validation of binary-encoded media type documents" - "ignores non-strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 181 - content.json: "validation of binary-encoded media type documents with schema" - "a valid base64-encoded JSON document" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 182 - content.json: "validation of binary-encoded media type documents with schema" - "another valid base64-encoded JSON document" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 183 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64-encoded JSON document; validates true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 184 - content.json: "validation of binary-encoded media type documents with schema" - "an empty object as a base64-encoded JSON document; validates true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 185 - content.json: "validation of binary-encoded media type documents with schema" - "an empty array as a base64-encoded JSON document" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 186 - content.json: "validation of binary-encoded media type documents with schema" - "a validly-encoded invalid JSON document; validates true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 187 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64 string that is valid JSON; validates true" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 188 - content.json: "validation of binary-encoded media type documents with schema" - "ignores non-strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 189 - default.json: "invalid type for default" - "valid when property is specified" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 190 - default.json: "invalid type for default" - "still valid when the invalid default is used" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 191 - default.json: "invalid string value for default" - "valid when property is specified" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 192 - default.json: "invalid string value for default" - "still valid when the invalid default is used" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 3", 821s # "instanceLocation": "/alpha", 821s # "keywordLocation": "/properties/alpha/maximum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 3", 821s # "instanceLocation": "/alpha", 821s # "keywordLocation": "/properties/alpha/maximum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 196 - defs.json: "validate definition against metaschema" - "valid definition schema" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 197 - defs.json: "validate definition against metaschema" - "invalid definition schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/simpleTypes/enum", 821s # "error": "value does not match", 821s # "instanceLocation": "/$defs/foo/type", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/0/$ref/enum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf/1/type", 821s # "error": "got integer, not array", 821s # "instanceLocation": "/$defs/foo/type", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/1/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "/$defs/foo/type", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/foo", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 3 is not valid", 821s # "instanceLocation": "/$defs/foo", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/simpleTypes/enum", 821s # "error": "value does not match", 821s # "instanceLocation": "/$defs/foo/type", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/0/$ref/enum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf/1/type", 821s # "error": "got integer, not array", 821s # "instanceLocation": "/$defs/foo/type", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/1/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "/$defs/foo/type", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/foo", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 3 is not valid", 821s # "instanceLocation": "/$defs/foo", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 198 - dependentRequired.json: "single dependency" - "neither" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 199 - dependentRequired.json: "single dependency" - "nondependant" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 200 - dependentRequired.json: "single dependency" - "with dependency" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 201 - dependentRequired.json: "single dependency" - "missing dependency" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/bar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/bar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 202 - dependentRequired.json: "single dependency" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 203 - dependentRequired.json: "single dependency" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 204 - dependentRequired.json: "single dependency" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 205 - dependentRequired.json: "empty dependents" - "empty object" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 206 - dependentRequired.json: "empty dependents" - "object with one property" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 207 - dependentRequired.json: "empty dependents" - "non-object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 208 - dependentRequired.json: "multiple dependents required" - "neither" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 209 - dependentRequired.json: "multiple dependents required" - "nondependants" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 210 - dependentRequired.json: "multiple dependents required" - "with dependencies" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 211 - dependentRequired.json: "multiple dependents required" - "missing dependency" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/quux" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/quux" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 212 - dependentRequired.json: "multiple dependents required" - "missing other dependency" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/quux" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/quux" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 213 - dependentRequired.json: "multiple dependents required" - "missing both dependencies" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: foo, bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/quux" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: foo, bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/quux" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 214 - dependentRequired.json: "dependencies with escaped characters" - "CRLF" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 215 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 216 - dependentRequired.json: "dependencies with escaped characters" - "CRLF missing dependent" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo\rbar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/foo\nbar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo\rbar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/foo\nbar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 217 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo'bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/foo\"bar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo'bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired/foo\"bar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentRequired" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 218 - dependentSchemas.json: "single dependency" - "valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 219 - dependentSchemas.json: "single dependency" - "no dependency" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 220 - dependentSchemas.json: "single dependency" - "wrong type" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar/properties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar/properties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 221 - dependentSchemas.json: "single dependency" - "wrong type other" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar/properties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar/properties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 222 - dependentSchemas.json: "single dependency" - "wrong type both" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 821s # }, 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar/properties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar/properties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 223 - dependentSchemas.json: "single dependency" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 224 - dependentSchemas.json: "single dependency" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 225 - dependentSchemas.json: "single dependency" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 226 - dependentSchemas.json: "boolean subschemas" - "object with property having schema true is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 227 - dependentSchemas.json: "boolean subschemas" - "object with property having schema false is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 228 - dependentSchemas.json: "boolean subschemas" - "object with both properties is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/bar" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 229 - dependentSchemas.json: "boolean subschemas" - "empty object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 230 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 231 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo\"bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo'bar/required" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo\"bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo'bar/required" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 232 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab invalid under dependent schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object has fewer than 4 properties", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo\tbar/minProperties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object has fewer than 4 properties", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo\tbar/minProperties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 233 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote invalid under dependent schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo\"bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo'bar/required" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo\"bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo'bar/required" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 234 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches root" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 235 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches dependency" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 236 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches both" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 821s # }, 821s # { 821s # "error": "not all dependencies are satisfied", 821s # "instanceLocation": "", 821s # "keywordLocation": "/dependentSchemas" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 237 - dependentSchemas.json: "dependent subschema incompatible with root" - "no dependency" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/$ref/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/list#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/$ref/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/list#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 246 - dynamicRef.json: "A $dynamicRef without anchor in fragment behaves identical to $ref" - "An array of strings is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/$ref/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/$ref/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/$ref/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 247 - dynamicRef.json: "A $dynamicRef without anchor in fragment behaves identical to $ref" - "An array of numbers is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/$ref/$ref/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/list#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/root#/$defs/foo/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/$ref/$ref/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/list#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 250 - dynamicRef.json: "An $anchor with the same name as a $dynamicAnchor is not used for dynamic scope resolution" - "Any array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties/foo/const", 821s # "error": "value does not match", 821s # "instanceLocation": "/bar/baz/foo", 821s # "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties/foo/const" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/bar/baz", 821s # "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/bar#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/$ref/properties/bar/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/extended#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties/foo/const", 821s # "error": "value does not match", 821s # "instanceLocation": "/bar/baz/foo", 821s # "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties/foo/const" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/bar/baz", 821s # "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/bar#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/$ref/properties/bar/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/extended#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 256 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "number list with number values" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 257 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "number list with string values" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/numberList#/$defs/itemType/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/list/0", 821s # "keywordLocation": "/then/$ref/$ref/properties/list/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/list", 821s # "keywordLocation": "/then/$ref/$ref/properties/list/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/$ref/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/then", 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/numberList#/$defs/itemType/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/list/0", 821s # "keywordLocation": "/then/$ref/$ref/properties/list/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/list", 821s # "keywordLocation": "/then/$ref/$ref/properties/list/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/$ref/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/then", 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 258 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "string list with number values" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/stringList#/$defs/itemType/type", 821s # "error": "got number, not string", 821s # "instanceLocation": "/list/0", 821s # "keywordLocation": "/else/$ref/$ref/properties/list/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/list", 821s # "keywordLocation": "/else/$ref/$ref/properties/list/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/$ref/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/else", 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/stringList#/$defs/itemType/type", 821s # "error": "got number, not string", 821s # "instanceLocation": "/list/0", 821s # "keywordLocation": "/else/$ref/$ref/properties/list/items/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/list", 821s # "keywordLocation": "/else/$ref/$ref/properties/list/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/$ref/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/else", 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 259 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "string list with string values" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type", 821s # "error": "got string, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/$ref/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then", 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type", 821s # "error": "got string, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/$ref/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then", 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type", 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/$ref/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then", 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type", 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/$ref/$dynamicRef/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then", 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 263 - dynamicRef.json: "strict-tree schema, guards against misspelled properties" - "instance with misspelled field" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/children/0/daat", 821s # "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/children/0", 821s # "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties/children/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/children", 821s # "keywordLocation": "/$ref/properties/children/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/children", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/children/0/daat", 821s # "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/children/0", 821s # "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties/children/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/children", 821s # "keywordLocation": "/$ref/properties/children/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/children", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 264 - dynamicRef.json: "strict-tree schema, guards against misspelled properties" - "instance with correct field" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 265 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "incorrect parent schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 821s # "error": "object is missing property: elements", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/a", 821s # "keywordLocation": "/$ref/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 821s # "error": "object is missing property: elements", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 266 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "incorrect extended schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/required", 821s # "error": "object is missing property: a", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/additionalProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/elements/0/b", 821s # "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/elements", 821s # "keywordLocation": "/$ref/properties/elements/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/required", 821s # "error": "object is missing property: a", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/elements", 821s # "keywordLocation": "/$ref/properties/elements/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 267 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "correct extended schema" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 268 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "incorrect parent schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 821s # "error": "object is missing property: elements", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/a", 821s # "keywordLocation": "/allOf/0/$ref/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 821s # "error": "object is missing property: elements", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 269 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "incorrect extended schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/required", 821s # "error": "object is missing property: a", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/additionalProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/elements/0/b", 821s # "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/elements", 821s # "keywordLocation": "/allOf/0/$ref/properties/elements/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/required", 821s # "error": "object is missing property: a", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/elements", 821s # "keywordLocation": "/allOf/0/$ref/properties/elements/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 270 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "correct extended schema" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 271 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "incorrect parent schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 821s # "error": "object is missing property: elements", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/$ref/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/a", 821s # "keywordLocation": "/allOf/1/$ref/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/$ref/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf", 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 821s # "error": "object is missing property: elements", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/$ref/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf", 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 272 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "incorrect extended schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/required", 821s # "error": "object is missing property: a", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/additionalProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/elements/0/b", 821s # "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/elements", 821s # "keywordLocation": "/allOf/1/$ref/properties/elements/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf", 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/required", 821s # "error": "object is missing property: a", 821s # "instanceLocation": "/elements/0", 821s # "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/elements", 821s # "keywordLocation": "/allOf/1/$ref/properties/elements/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf", 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 273 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "correct extended schema" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 274 - dynamicRef.json: "$ref to $dynamicRef finds detached $dynamicAnchor" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 275 - dynamicRef.json: "$ref to $dynamicRef finds detached $dynamicAnchor" - "non-number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-dynamicref.json#/$defs/detached/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$dynamicRef/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-dynamicref.json#/$defs/detached/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$dynamicRef/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 276 - enum.json: "simple enum validation" - "one of the enum is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 277 - enum.json: "simple enum validation" - "something else is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 278 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 279 - enum.json: "heterogeneous enum validation" - "something else is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 280 - enum.json: "heterogeneous enum validation" - "objects are deep compared" { 821s # result: { 821s # "errors": [ 821s # { 821s # "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\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "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\")", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 281 - enum.json: "heterogeneous enum validation" - "valid object matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 282 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 283 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 284 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 285 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 286 - enum.json: "enums in properties" - "both properties are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 287 - enum.json: "enums in properties" - "wrong foo value" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/enum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/enum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 288 - enum.json: "enums in properties" - "wrong bar value" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/enum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/enum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 289 - enum.json: "enums in properties" - "missing optional property is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 290 - enum.json: "enums in properties" - "missing required property is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 291 - enum.json: "enums in properties" - "missing all properties is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 292 - enum.json: "enum with escaped characters" - "member 1 is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 293 - enum.json: "enum with escaped characters" - "member 2 is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 294 - enum.json: "enum with escaped characters" - "another string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 295 - enum.json: "enum with false does not match 0" - "false is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 296 - enum.json: "enum with false does not match 0" - "integer zero is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 297 - enum.json: "enum with false does not match 0" - "float zero is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 298 - enum.json: "enum with true does not match 1" - "true is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 299 - enum.json: "enum with true does not match 1" - "integer one is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 300 - enum.json: "enum with true does not match 1" - "float one is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 301 - enum.json: "enum with 0 does not match false" - "false is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 302 - enum.json: "enum with 0 does not match false" - "integer zero is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 303 - enum.json: "enum with 0 does not match false" - "float zero is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 304 - enum.json: "enum with 1 does not match true" - "true is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 305 - enum.json: "enum with 1 does not match true" - "integer one is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 306 - enum.json: "enum with 1 does not match true" - "float one is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 307 - enum.json: "nul characters in strings" - "match string with nul" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 308 - enum.json: "nul characters in strings" - "do not match string lacking nul" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 309 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 310 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or larger than 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMaximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or larger than 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMaximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 311 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or larger than 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMaximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or larger than 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMaximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 312 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 313 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 314 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or smaller than 1.1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMinimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or smaller than 1.1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMinimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 315 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or smaller than 1.1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMinimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or smaller than 1.1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMinimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 316 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 317 - format.json: "email format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 318 - format.json: "email format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 319 - format.json: "email format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 320 - format.json: "email format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 321 - format.json: "email format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 322 - format.json: "email format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 323 - format.json: "email format" - "invalid email string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 324 - format.json: "idn-email format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 325 - format.json: "idn-email format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 326 - format.json: "idn-email format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 327 - format.json: "idn-email format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 328 - format.json: "idn-email format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 329 - format.json: "idn-email format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 330 - format.json: "idn-email format" - "invalid idn-email string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 331 - format.json: "regex format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 332 - format.json: "regex format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 333 - format.json: "regex format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 334 - format.json: "regex format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 335 - format.json: "regex format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 336 - format.json: "regex format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 337 - format.json: "regex format" - "invalid regex string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 338 - format.json: "ipv4 format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 339 - format.json: "ipv4 format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 340 - format.json: "ipv4 format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 341 - format.json: "ipv4 format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 342 - format.json: "ipv4 format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 343 - format.json: "ipv4 format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 344 - format.json: "ipv4 format" - "invalid ipv4 string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 345 - format.json: "ipv6 format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 346 - format.json: "ipv6 format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 347 - format.json: "ipv6 format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 348 - format.json: "ipv6 format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 349 - format.json: "ipv6 format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 350 - format.json: "ipv6 format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 351 - format.json: "ipv6 format" - "invalid ipv6 string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 352 - format.json: "idn-hostname format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 353 - format.json: "idn-hostname format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 354 - format.json: "idn-hostname format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 355 - format.json: "idn-hostname format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 356 - format.json: "idn-hostname format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 357 - format.json: "idn-hostname format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 358 - format.json: "idn-hostname format" - "invalid idn-hostname string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 359 - format.json: "hostname format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 360 - format.json: "hostname format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 361 - format.json: "hostname format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 362 - format.json: "hostname format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 363 - format.json: "hostname format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 364 - format.json: "hostname format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 365 - format.json: "hostname format" - "invalid hostname string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 366 - format.json: "date format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 367 - format.json: "date format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 368 - format.json: "date format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 369 - format.json: "date format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 370 - format.json: "date format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 371 - format.json: "date format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 372 - format.json: "date format" - "invalid date string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 373 - format.json: "date-time format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 374 - format.json: "date-time format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 375 - format.json: "date-time format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 376 - format.json: "date-time format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 377 - format.json: "date-time format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 378 - format.json: "date-time format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 379 - format.json: "date-time format" - "invalid date-time string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 380 - format.json: "time format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 381 - format.json: "time format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 382 - format.json: "time format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 383 - format.json: "time format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 384 - format.json: "time format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 385 - format.json: "time format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 386 - format.json: "time format" - "invalid time string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 387 - format.json: "json-pointer format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 388 - format.json: "json-pointer format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 389 - format.json: "json-pointer format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 390 - format.json: "json-pointer format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 391 - format.json: "json-pointer format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 392 - format.json: "json-pointer format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 393 - format.json: "json-pointer format" - "invalid json-pointer string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 394 - format.json: "relative-json-pointer format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 395 - format.json: "relative-json-pointer format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 396 - format.json: "relative-json-pointer format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 397 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 398 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 399 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 400 - format.json: "relative-json-pointer format" - "invalid relative-json-pointer string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 401 - format.json: "iri format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 402 - format.json: "iri format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 403 - format.json: "iri format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 404 - format.json: "iri format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 405 - format.json: "iri format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 406 - format.json: "iri format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 407 - format.json: "iri format" - "invalid iri string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 408 - format.json: "iri-reference format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 409 - format.json: "iri-reference format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 410 - format.json: "iri-reference format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 411 - format.json: "iri-reference format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 412 - format.json: "iri-reference format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 413 - format.json: "iri-reference format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 414 - format.json: "iri-reference format" - "invalid iri-reference string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 415 - format.json: "uri format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 416 - format.json: "uri format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 417 - format.json: "uri format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 418 - format.json: "uri format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 419 - format.json: "uri format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 420 - format.json: "uri format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 421 - format.json: "uri format" - "invalid uri string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 422 - format.json: "uri-reference format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 423 - format.json: "uri-reference format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 424 - format.json: "uri-reference format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 425 - format.json: "uri-reference format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 426 - format.json: "uri-reference format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 427 - format.json: "uri-reference format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 428 - format.json: "uri-reference format" - "invalid uri-reference string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 429 - format.json: "uri-template format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 430 - format.json: "uri-template format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 431 - format.json: "uri-template format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 432 - format.json: "uri-template format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 433 - format.json: "uri-template format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 434 - format.json: "uri-template format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 435 - format.json: "uri-template format" - "invalid uri-template string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 436 - format.json: "uuid format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 437 - format.json: "uuid format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 438 - format.json: "uuid format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 439 - format.json: "uuid format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 440 - format.json: "uuid format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 441 - format.json: "uuid format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 442 - format.json: "uuid format" - "invalid uuid string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 443 - format.json: "duration format" - "all string formats ignore integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 444 - format.json: "duration format" - "all string formats ignore floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 445 - format.json: "duration format" - "all string formats ignore objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 446 - format.json: "duration format" - "all string formats ignore arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 447 - format.json: "duration format" - "all string formats ignore booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 448 - format.json: "duration format" - "all string formats ignore nulls" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 449 - format.json: "duration format" - "invalid duration string is only an annotation by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 450 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 451 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name and no ref" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 452 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 453 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name with absolute URI" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 454 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path with absolute URI" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 455 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name with base URI change in subschema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$defs/B/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A/$defs/B", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A/$defs/B", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs/A/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$defs/B/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A/$defs/B", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A/$defs/B", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs/A/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 456 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path with base URI change in subschema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$defs/B/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A/$defs/B", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A/$defs/B", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs/A/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$defs/A/$defs/B/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A/$defs/B", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A/$defs/B", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs/A/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "/$defs/A", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/$defs", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 457 - id.json: "Valid use of empty fragments in location-independent $id" - "Identifier name with absolute URI" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 458 - id.json: "Valid use of empty fragments in location-independent $id" - "Identifier name with base URI change in subschema" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 459 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 460 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier and no ref" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 461 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier with empty fragment" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 462 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier with empty fragment and no ref" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 463 - id.json: "$id inside an enum is not a real identifier" - "exact match to enum, and type matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 464 - id.json: "$id inside an enum is not a real identifier" - "match $ref to $id" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 465 - id.json: "$id inside an enum is not a real identifier" - "no match on enum or $ref to $id" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_enum/enum", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/enum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/id/my_identifier.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_enum/enum", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/enum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/id/my_identifier.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 466 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 467 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/$ref/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/$ref/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 468 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 469 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 470 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 471 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 472 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 473 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 474 - if-then-else.json: "if and then without else" - "valid through then" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 475 - if-then-else.json: "if and then without else" - "invalid through then" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than -10", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/minimum" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than -10", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/minimum" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 476 - if-then-else.json: "if and then without else" - "valid when if test fails" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 477 - if-then-else.json: "if and else without then" - "valid when if test passes" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 478 - if-then-else.json: "if and else without then" - "valid through else" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 479 - if-then-else.json: "if and else without then" - "invalid through else" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 480 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 481 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than -10", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/minimum" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than -10", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/minimum" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 482 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 483 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 484 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 485 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 486 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 487 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 488 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 489 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 490 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 491 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 492 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/then" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 493 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else/const" 821s # }, 821s # { 821s # "error": "subschema is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/else" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/int/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/int/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/1/additionalProperties/$ref/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/additionalProperties" 821s # }, 821s # { 821s # "error": "subschemas 0, 1 are not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/int/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/properties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 496 - items.json: "a schema given for items" - "valid items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 497 - items.json: "a schema given for items" - "wrong type of items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 498 - items.json: "a schema given for items" - "ignores non-arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 499 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 500 - items.json: "items with boolean schema (true)" - "any array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 501 - items.json: "items with boolean schema (true)" - "empty array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 502 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 503 - items.json: "items with boolean schema (false)" - "empty array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 504 - items.json: "items and subitems" - "valid items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 505 - items.json: "items and subitems" - "too many items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 506 - items.json: "items and subitems" - "too many sub-items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/item/items", 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0/2", 821s # "keywordLocation": "/prefixItems/0/$ref/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/item/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/prefixItems/0/$ref/items" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/item/items", 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0/2", 821s # "keywordLocation": "/prefixItems/0/$ref/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/item/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/prefixItems/0/$ref/items" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 507 - items.json: "items and subitems" - "wrong item" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/item/type", 821s # "error": "got object, not array", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/prefixItems/0/$ref/type" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/item/type", 821s # "error": "got object, not array", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/prefixItems/0/$ref/type" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 508 - items.json: "items and subitems" - "wrong sub-item" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/sub-item/required", 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "/0/0", 821s # "keywordLocation": "/prefixItems/0/$ref/prefixItems/0/$ref/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/item/prefixItems", 821s # "error": "not all items are valid", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/prefixItems/0/$ref/prefixItems" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/sub-item/required", 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "/0/0", 821s # "keywordLocation": "/prefixItems/0/$ref/prefixItems/0/$ref/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/item/prefixItems", 821s # "error": "not all items are valid", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/prefixItems/0/$ref/prefixItems" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 509 - items.json: "items and subitems" - "fewer items is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 510 - items.json: "nested items" - "valid nested array" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 511 - items.json: "nested items" - "nested array with invalid type" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/0/0/0/0", 821s # "keywordLocation": "/items/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0/0/0", 821s # "keywordLocation": "/items/items/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0/0", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/0/0/0/0", 821s # "keywordLocation": "/items/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0/0/0", 821s # "keywordLocation": "/items/items/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0/0", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 512 - items.json: "nested items" - "not deep enough" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "/0/0/0", 821s # "keywordLocation": "/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0/0", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "/0/1/0", 821s # "keywordLocation": "/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0/1", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "/0/2/0", 821s # "keywordLocation": "/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0/2", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/items" 821s # }, 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "/1/0/0", 821s # "keywordLocation": "/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/1/0", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "/1/1/0", 821s # "keywordLocation": "/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/1/1", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "/1/2/0", 821s # "keywordLocation": "/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/1/2", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "/0/0/0", 821s # "keywordLocation": "/items/items/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0/0", 821s # "keywordLocation": "/items/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 513 - items.json: "prefixItems with no additional items allowed" - "empty array" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 514 - items.json: "prefixItems with no additional items allowed" - "fewer number of items present (1)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 515 - items.json: "prefixItems with no additional items allowed" - "fewer number of items present (2)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 516 - items.json: "prefixItems with no additional items allowed" - "equal number of items present" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 517 - items.json: "prefixItems with no additional items allowed" - "additional items are not permitted" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 518 - items.json: "items does not look in applicators, valid case" - "prefixItems in allOf does not constrain items, invalid case" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than 5", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/minimum" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than 5", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/minimum" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 519 - items.json: "items does not look in applicators, valid case" - "prefixItems in allOf does not constrain items, valid case" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 520 - items.json: "prefixItems validation adjusts the starting index for items" - "valid items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 521 - items.json: "prefixItems validation adjusts the starting index for items" - "wrong type of second item" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 522 - items.json: "items with null instance elements" - "allows null elements" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 523 - maxContains.json: "maxContains without contains is ignored" - "one item valid against lone maxContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 524 - maxContains.json: "maxContains without contains is ignored" - "two items still valid against lone maxContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 525 - maxContains.json: "maxContains with contains" - "empty data" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 526 - maxContains.json: "maxContains with contains" - "all elements match, valid maxContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 527 - maxContains.json: "maxContains with contains" - "all elements match, invalid maxContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 528 - maxContains.json: "maxContains with contains" - "some elements match, valid maxContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 529 - maxContains.json: "maxContains with contains" - "some elements match, invalid maxContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 530 - maxContains.json: "maxContains with contains, value with a decimal" - "one element matches, valid maxContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 531 - maxContains.json: "maxContains with contains, value with a decimal" - "too many elements match, invalid maxContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 532 - maxContains.json: "minContains < maxContains" - "actual < minContains < maxContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "array contains fewer than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 533 - maxContains.json: "minContains < maxContains" - "minContains < actual < maxContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 534 - maxContains.json: "minContains < maxContains" - "minContains < maxContains < actual" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 3 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 3 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 535 - maxItems.json: "maxItems validation" - "shorter is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 536 - maxItems.json: "maxItems validation" - "exact length is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 537 - maxItems.json: "maxItems validation" - "too long is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array has more than 2 items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array has more than 2 items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 538 - maxItems.json: "maxItems validation" - "ignores non-arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 539 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 540 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array has more than 2 items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array has more than 2 items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 541 - maxLength.json: "maxLength validation" - "shorter is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 542 - maxLength.json: "maxLength validation" - "exact length is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 543 - maxLength.json: "maxLength validation" - "too long is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is greater than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is greater than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 544 - maxLength.json: "maxLength validation" - "ignores non-strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 545 - maxLength.json: "maxLength validation" - "two supplementary Unicode code points is long enough" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 546 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 547 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is greater than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is greater than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 548 - maxProperties.json: "maxProperties validation" - "shorter is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 549 - maxProperties.json: "maxProperties validation" - "exact length is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 550 - maxProperties.json: "maxProperties validation" - "too long is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object has more than 2 properties", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object has more than 2 properties", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 551 - maxProperties.json: "maxProperties validation" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 552 - maxProperties.json: "maxProperties validation" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 553 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 554 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 555 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object has more than 2 properties", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object has more than 2 properties", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 556 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 557 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object has more than 0 property", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object has more than 0 property", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 558 - maximum.json: "maximum validation" - "below the maximum is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 559 - maximum.json: "maximum validation" - "boundary point is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 560 - maximum.json: "maximum validation" - "above the maximum is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 3", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 561 - maximum.json: "maximum validation" - "ignores non-numbers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 562 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 563 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 564 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 565 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 300", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 300", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 566 - minContains.json: "minContains without contains is ignored" - "one item valid against lone minContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 567 - minContains.json: "minContains without contains is ignored" - "zero items still valid against lone minContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 568 - minContains.json: "minContains=1 with contains" - "empty data" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "array contains fewer than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 569 - minContains.json: "minContains=1 with contains" - "no elements match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "array contains fewer than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/const" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 570 - minContains.json: "minContains=1 with contains" - "single element matches, valid minContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 571 - minContains.json: "minContains=1 with contains" - "some elements match, valid minContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 572 - minContains.json: "minContains=1 with contains" - "all elements match, valid minContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 573 - minContains.json: "minContains=2 with contains" - "empty data" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 574 - minContains.json: "minContains=2 with contains" - "all elements match, invalid minContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 575 - minContains.json: "minContains=2 with contains" - "some elements match, invalid minContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 576 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (exactly as needed)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 577 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (more than needed)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 578 - minContains.json: "minContains=2 with contains" - "some elements match, valid minContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 579 - minContains.json: "minContains=2 with contains with a decimal value" - "one element matches, invalid minContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 580 - minContains.json: "minContains=2 with contains with a decimal value" - "both elements match, valid minContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 581 - minContains.json: "maxContains = minContains" - "empty data" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 582 - minContains.json: "maxContains = minContains" - "all elements match, invalid minContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 583 - minContains.json: "maxContains = minContains" - "all elements match, invalid maxContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 2 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 584 - minContains.json: "maxContains = minContains" - "all elements match, valid maxContains and minContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 585 - minContains.json: "maxContains < minContains" - "empty data" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "array contains fewer than 3 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 586 - minContains.json: "maxContains < minContains" - "invalid minContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 3 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains fewer than 3 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 587 - minContains.json: "maxContains < minContains" - "invalid maxContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 588 - minContains.json: "maxContains < minContains" - "invalid maxContains and minContains" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # }, 821s # { 821s # "error": "array contains fewer than 3 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 589 - minContains.json: "minContains = 0" - "empty data" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 590 - minContains.json: "minContains = 0" - "minContains = 0 makes contains always pass" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 591 - minContains.json: "minContains = 0 with maxContains" - "empty data" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 592 - minContains.json: "minContains = 0 with maxContains" - "not more than maxContains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 593 - minContains.json: "minContains = 0 with maxContains" - "too many" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array contains more than 1 matching items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/maxContains" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 594 - minItems.json: "minItems validation" - "longer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 595 - minItems.json: "minItems validation" - "exact length is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 596 - minItems.json: "minItems validation" - "too short is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array has fewer than 1 item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array has fewer than 1 item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 597 - minItems.json: "minItems validation" - "ignores non-arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 598 - minItems.json: "minItems validation with a decimal" - "longer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 599 - minItems.json: "minItems validation with a decimal" - "too short is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array has fewer than 1 item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array has fewer than 1 item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 600 - minLength.json: "minLength validation" - "longer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 601 - minLength.json: "minLength validation" - "exact length is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 602 - minLength.json: "minLength validation" - "too short is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 603 - minLength.json: "minLength validation" - "ignores non-strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 604 - minLength.json: "minLength validation" - "one supplementary Unicode code point is not long enough" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 605 - minLength.json: "minLength validation with a decimal" - "longer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 606 - minLength.json: "minLength validation with a decimal" - "too short is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 607 - minProperties.json: "minProperties validation" - "longer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 608 - minProperties.json: "minProperties validation" - "exact length is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 609 - minProperties.json: "minProperties validation" - "too short is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object has fewer than 1 property", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object has fewer than 1 property", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 610 - minProperties.json: "minProperties validation" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 611 - minProperties.json: "minProperties validation" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 612 - minProperties.json: "minProperties validation" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 613 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 614 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object has fewer than 1 property", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object has fewer than 1 property", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 615 - minimum.json: "minimum validation" - "above the minimum is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 616 - minimum.json: "minimum validation" - "boundary point is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 617 - minimum.json: "minimum validation" - "below the minimum is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than 1.1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than 1.1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 618 - minimum.json: "minimum validation" - "ignores non-numbers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 619 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 620 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 621 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 622 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 623 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than -2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than -2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 624 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than -2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is smaller than -2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 625 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 626 - multipleOf.json: "by int" - "int by int" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 627 - multipleOf.json: "by int" - "int by int fail" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/multipleOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/multipleOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 628 - multipleOf.json: "by int" - "ignores non-numbers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 629 - multipleOf.json: "by number" - "zero is multiple of anything" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 630 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 631 - multipleOf.json: "by number" - "35 is not multiple of 1.5" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 1.5", 821s # "instanceLocation": "", 821s # "keywordLocation": "/multipleOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 1.5", 821s # "instanceLocation": "", 821s # "keywordLocation": "/multipleOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 632 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 633 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 0.0001", 821s # "instanceLocation": "", 821s # "keywordLocation": "/multipleOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 0.0001", 821s # "instanceLocation": "", 821s # "keywordLocation": "/multipleOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 634 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 0.123456789", 821s # "instanceLocation": "", 821s # "keywordLocation": "/multipleOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 0.123456789", 821s # "instanceLocation": "", 821s # "keywordLocation": "/multipleOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 635 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 636 - not.json: "not" - "allowed" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 637 - not.json: "not" - "disallowed" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 638 - not.json: "not multiple types" - "valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 639 - not.json: "not multiple types" - "mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 640 - not.json: "not multiple types" - "other mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 641 - not.json: "not more complex schema" - "match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 642 - not.json: "not more complex schema" - "other match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 643 - not.json: "not more complex schema" - "mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 644 - not.json: "forbidden property" - "property present" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/not" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/not" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 645 - not.json: "forbidden property" - "property absent" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 646 - not.json: "not with boolean schema true" - "any value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 647 - not.json: "not with boolean schema false" - "any value is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 648 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 649 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/not" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 650 - oneOf.json: "oneOf" - "first oneOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 651 - oneOf.json: "oneOf" - "second oneOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 652 - oneOf.json: "oneOf" - "both oneOf valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 653 - oneOf.json: "oneOf" - "neither oneOf valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/type" 821s # }, 821s # { 821s # "error": "value is smaller than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/minimum" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/type" 821s # }, 821s # { 821s # "error": "value is smaller than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/minimum" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 654 - oneOf.json: "oneOf with base schema" - "mismatch base schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # }, 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 655 - oneOf.json: "oneOf with base schema" - "one oneOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 656 - oneOf.json: "oneOf with base schema" - "both oneOf valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 657 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1, 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 658 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 659 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 660 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0" 821s # }, 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1" 821s # }, 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/2" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0" 821s # }, 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1" 821s # }, 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/2" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 661 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 662 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 663 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 664 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/oneOf/0/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/properties" 821s # }, 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/oneOf/1/properties/foo/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/properties" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/oneOf/0/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/properties" 821s # }, 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/oneOf/1/properties/foo/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/properties" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 665 - oneOf.json: "oneOf with empty schema" - "one valid - valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 666 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 667 - oneOf.json: "oneOf with required" - "both invalid - invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/required" 821s # }, 821s # { 821s # "error": "object is missing properties: foo, baz", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/required" 821s # }, 821s # { 821s # "error": "object is missing properties: foo, baz", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 668 - oneOf.json: "oneOf with required" - "first valid - valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 669 - oneOf.json: "oneOf with required" - "second valid - valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 670 - oneOf.json: "oneOf with required" - "both valid - invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 671 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 672 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 673 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 674 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/required" 821s # }, 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: bar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/required" 821s # }, 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 675 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 676 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/oneOf/0/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/oneOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/oneOf/0/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/oneOf" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 677 - pattern.json: "pattern validation" - "a matching pattern is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 678 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 679 - pattern.json: "pattern validation" - "ignores booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 680 - pattern.json: "pattern validation" - "ignores integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 681 - pattern.json: "pattern validation" - "ignores floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 682 - pattern.json: "pattern validation" - "ignores objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 683 - pattern.json: "pattern validation" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 684 - pattern.json: "pattern validation" - "ignores null" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 685 - pattern.json: "pattern is not anchored" - "matches a substring" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 686 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 687 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 688 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/patternProperties/f.*o/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/patternProperties/f.*o/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 689 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/patternProperties/f.*o/type" 821s # }, 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foooooo", 821s # "keywordLocation": "/patternProperties/f.*o/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/patternProperties/f.*o/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 690 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 691 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 692 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 693 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 694 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 695 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 696 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/a", 821s # "keywordLocation": "/patternProperties/a*/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/a", 821s # "keywordLocation": "/patternProperties/a*/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 697 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 20", 821s # "instanceLocation": "/aaaa", 821s # "keywordLocation": "/patternProperties/aaa*/maximum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is larger than 20", 821s # "instanceLocation": "/aaaa", 821s # "keywordLocation": "/patternProperties/aaa*/maximum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 698 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/aaa", 821s # "keywordLocation": "/patternProperties/a*/type" 821s # }, 821s # { 821s # "error": "value is larger than 20", 821s # "instanceLocation": "/aaaa", 821s # "keywordLocation": "/patternProperties/aaa*/maximum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/aaa", 821s # "keywordLocation": "/patternProperties/a*/type" 821s # }, 821s # { 821s # "error": "value is larger than 20", 821s # "instanceLocation": "/aaaa", 821s # "keywordLocation": "/patternProperties/aaa*/maximum" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 699 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 700 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not boolean", 821s # "instanceLocation": "/a31b", 821s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not boolean", 821s # "instanceLocation": "/a31b", 821s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 701 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 702 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/a_X_3", 821s # "keywordLocation": "/patternProperties/X_/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/a_X_3", 821s # "keywordLocation": "/patternProperties/X_/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 703 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 704 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/patternProperties/b.*" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/patternProperties/b.*" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 705 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/patternProperties/b.*" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/patternProperties/b.*" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 706 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/foobar", 821s # "keywordLocation": "/patternProperties/b.*" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/foobar", 821s # "keywordLocation": "/patternProperties/b.*" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 707 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 708 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 709 - prefixItems.json: "a schema given for prefixItems" - "correct types" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 710 - prefixItems.json: "a schema given for prefixItems" - "wrong types" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/prefixItems/0/type" 821s # }, 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/prefixItems/1/type" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/prefixItems/0/type" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 711 - prefixItems.json: "a schema given for prefixItems" - "incomplete array of items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 712 - prefixItems.json: "a schema given for prefixItems" - "array with additional items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 713 - prefixItems.json: "a schema given for prefixItems" - "empty array" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 714 - prefixItems.json: "a schema given for prefixItems" - "JavaScript pseudo-array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 715 - prefixItems.json: "prefixItems with boolean schemas" - "array with one item is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 716 - prefixItems.json: "prefixItems with boolean schemas" - "array with two items is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/prefixItems/1" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/prefixItems/1" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 717 - prefixItems.json: "prefixItems with boolean schemas" - "empty array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 718 - prefixItems.json: "additional items are allowed by default" - "only the first item is validated" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 719 - prefixItems.json: "prefixItems with null instance elements" - "allows null elements" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 720 - properties.json: "object properties validation" - "both properties present and valid is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 721 - properties.json: "object properties validation" - "one property invalid is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 722 - properties.json: "object properties validation" - "both properties invalid is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/type" 821s # }, 821s # { 821s # "error": "got array, not integer", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 723 - properties.json: "object properties validation" - "doesn't invalidate other properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 724 - properties.json: "object properties validation" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 725 - properties.json: "object properties validation" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 726 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 727 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array has more than 3 items", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/maxItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array has more than 3 items", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/maxItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 728 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array has fewer than 2 items", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/patternProperties/f.o/minItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array has fewer than 2 items", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/patternProperties/f.o/minItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 729 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 730 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array has fewer than 2 items", 821s # "instanceLocation": "/fxo", 821s # "keywordLocation": "/patternProperties/f.o/minItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array has fewer than 2 items", 821s # "instanceLocation": "/fxo", 821s # "keywordLocation": "/patternProperties/f.o/minItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 731 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 732 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 733 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/additionalProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/additionalProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 734 - properties.json: "properties with boolean schema" - "no property present is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 735 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 736 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 737 - properties.json: "properties with boolean schema" - "both properties present is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 738 - properties.json: "properties with escaped characters" - "object with all numbers is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 739 - properties.json: "properties with escaped characters" - "object with strings is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\tbar", 821s # "keywordLocation": "/properties/foo\tbar/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\nbar", 821s # "keywordLocation": "/properties/foo\nbar/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\fbar", 821s # "keywordLocation": "/properties/foo\fbar/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\rbar", 821s # "keywordLocation": "/properties/foo\rbar/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\"bar", 821s # "keywordLocation": "/properties/foo\"bar/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\\bar", 821s # "keywordLocation": "/properties/foo\\bar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\tbar", 821s # "keywordLocation": "/properties/foo\tbar/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 740 - properties.json: "properties with null valued instance properties" - "allows null values" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 741 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 742 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 743 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 744 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/__proto__", 821s # "keywordLocation": "/properties/__proto__/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/__proto__", 821s # "keywordLocation": "/properties/__proto__/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 745 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/toString/length", 821s # "keywordLocation": "/properties/toString/properties/length/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/toString", 821s # "keywordLocation": "/properties/toString/properties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/toString/length", 821s # "keywordLocation": "/properties/toString/properties/length/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/toString", 821s # "keywordLocation": "/properties/toString/properties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 746 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not number", 821s # "instanceLocation": "/constructor", 821s # "keywordLocation": "/properties/constructor/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not number", 821s # "instanceLocation": "/constructor", 821s # "keywordLocation": "/properties/constructor/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 747 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 748 - propertyNames.json: "propertyNames validation" - "all property names valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 749 - propertyNames.json: "propertyNames validation" - "some property names invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is greater than 3", 821s # "instanceLocation": "/foobar", 821s # "keywordLocation": "/propertyNames/maxLength" 821s # }, 821s # { 821s # "error": "not all property names are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/propertyNames" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is greater than 3", 821s # "instanceLocation": "/foobar", 821s # "keywordLocation": "/propertyNames/maxLength" 821s # }, 821s # { 821s # "error": "not all property names are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/propertyNames" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 750 - propertyNames.json: "propertyNames validation" - "object without properties is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 751 - propertyNames.json: "propertyNames validation" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 752 - propertyNames.json: "propertyNames validation" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 753 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 754 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 755 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 756 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/propertyNames" 821s # }, 821s # { 821s # "error": "not all property names are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/propertyNames" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "subschema is false", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/propertyNames" 821s # }, 821s # { 821s # "error": "not all property names are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/propertyNames" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 757 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 758 - ref.json: "root pointer ref" - "match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 759 - ref.json: "root pointer ref" - "recursive match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 760 - ref.json: "root pointer ref" - "mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 761 - ref.json: "root pointer ref" - "recursive mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/additionalProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo/bar", 821s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/additionalProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo/bar", 821s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/additionalProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 762 - ref.json: "relative pointer ref to object" - "match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 763 - ref.json: "relative pointer ref to object" - "mismatch" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/properties/foo/type", 821s # "error": "got boolean, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/properties/foo/type", 821s # "error": "got boolean, not integer", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 764 - ref.json: "relative pointer ref to array" - "match array" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 765 - ref.json: "relative pointer ref to array" - "mismatch array" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/prefixItems/0/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/prefixItems/1/$ref/type" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/prefixItems/0/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/prefixItems/1/$ref/type" 821s # }, 821s # { 821s # "error": "not all items are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/prefixItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 766 - ref.json: "escaped pointer ref" - "slash invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/slash~1field/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/slash", 821s # "keywordLocation": "/properties/slash/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/slash~1field/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/slash", 821s # "keywordLocation": "/properties/slash/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 767 - ref.json: "escaped pointer ref" - "tilde invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/tilde~0field/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/tilde", 821s # "keywordLocation": "/properties/tilde/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/tilde~0field/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/tilde", 821s # "keywordLocation": "/properties/tilde/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 768 - ref.json: "escaped pointer ref" - "percent invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/percent%25field/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/percent", 821s # "keywordLocation": "/properties/percent/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/percent%25field/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/percent", 821s # "keywordLocation": "/properties/percent/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 769 - ref.json: "escaped pointer ref" - "slash valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 770 - ref.json: "escaped pointer ref" - "tilde valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 771 - ref.json: "escaped pointer ref" - "percent valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 772 - ref.json: "nested refs" - "nested ref valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 773 - ref.json: "nested refs" - "nested ref invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/a/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/a/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 774 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 775 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "array has more than 2 items", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/maxItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "array has more than 2 items", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/maxItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 776 - ref.json: "ref applies alongside sibling keywords" - "ref invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/reffed/type", 821s # "error": "got string, not array", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/reffed/type", 821s # "error": "got string, not array", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 777 - ref.json: "remote ref, containing refs itself" - "remote ref valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 778 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/nonNegativeInteger/minimum", 821s # "error": "value is smaller than 0", 821s # "instanceLocation": "/minLength", 821s # "keywordLocation": "/$ref/allOf/3/$ref/properties/minLength/$ref/$ref/minimum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/3/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 3 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/nonNegativeInteger/minimum", 821s # "error": "value is smaller than 0", 821s # "instanceLocation": "/minLength", 821s # "keywordLocation": "/$ref/allOf/3/$ref/properties/minLength/$ref/$ref/minimum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/3/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 3 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 779 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 780 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/$ref", 821s # "keywordLocation": "/properties/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/$ref", 821s # "keywordLocation": "/properties/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 781 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 782 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/is-string/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/$ref", 821s # "keywordLocation": "/properties/$ref/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/is-string/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/$ref", 821s # "keywordLocation": "/properties/$ref/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 783 - ref.json: "$ref to boolean schema true" - "any value is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 784 - ref.json: "$ref to boolean schema false" - "any value is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/bool", 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/bool", 821s # "error": "subschema is false", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 785 - ref.json: "Recursive references between schemas" - "valid tree" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 786 - ref.json: "Recursive references between schemas" - "invalid tree" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties/value/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/nodes/0/subtree/nodes/0", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/nodes/0/subtree/nodes", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/nodes/0/subtree", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/nodes/0", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/nodes", 821s # "keywordLocation": "/properties/nodes/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties/value/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/nodes/0/subtree/nodes/0", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/nodes/0/subtree/nodes", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/nodes/0/subtree", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/nodes/0", 821s # "keywordLocation": "/properties/nodes/items/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/nodes", 821s # "keywordLocation": "/properties/nodes/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 787 - ref.json: "refs with quote" - "object with numbers is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 788 - ref.json: "refs with quote" - "object with strings is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/foo%22bar/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\"bar", 821s # "keywordLocation": "/properties/foo\"bar/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/foo%22bar/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "/foo\"bar", 821s # "keywordLocation": "/properties/foo\"bar/$ref/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 789 - ref.json: "ref creates new scope when adjacent to keywords" - "referenced subschema doesn't see annotations from properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/prop1", 821s # "keywordLocation": "/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/prop1", 821s # "keywordLocation": "/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/enum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 792 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 793 - ref.json: "refs with relative uris and defs" - "invalid on inner field" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo/bar", 821s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo/bar", 821s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 794 - ref.json: "refs with relative uris and defs" - "invalid on outer field" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/$ref/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/$ref/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 795 - ref.json: "refs with relative uris and defs" - "valid on both fields" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 796 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo/bar", 821s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo/bar", 821s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 797 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/$ref/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/$ref/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 798 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 799 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 800 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 801 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 802 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id1/int.json#/maximum", 821s # "error": "value is larger than 10", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/maximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id1/int.json#/maximum", 821s # "error": "value is larger than 10", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/maximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 803 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 804 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id2/base.json#/$defs/bigint/maximum", 821s # "error": "value is larger than 10", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/maximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id2/base.json#/$defs/bigint/maximum", 821s # "error": "value is larger than 10", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/maximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 805 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 806 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 821s # "error": "value is smaller than 30", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/minimum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 821s # "error": "value is smaller than 30", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/minimum" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 807 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 808 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 809 - ref.json: "URN base URI with NSS" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 810 - ref.json: "URN base URI with NSS" - "a non-string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 811 - ref.json: "URN base URI with r-component" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 812 - ref.json: "URN base URI with r-component" - "a non-string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 813 - ref.json: "URN base URI with q-component" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 814 - ref.json: "URN base URI with q-component" - "a non-string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 815 - ref.json: "URN base URI with f-component" - "is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 821s # "error": "pattern does not match", 821s # "instanceLocation": "/$id", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$id/pattern" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 816 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 817 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 818 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 819 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 820 - ref.json: "URN ref with nested pointer ref" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 821 - ref.json: "URN ref with nested pointer ref" - "a non-string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 822 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 823 - ref.json: "ref to if" - "an integer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 824 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 825 - ref.json: "ref to then" - "an integer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 826 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 827 - ref.json: "ref to else" - "an integer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 828 - ref.json: "ref with absolute-path-reference" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 829 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 830 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 831 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 832 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 833 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type", 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 834 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 835 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs//$defs//type", 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/type" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs//$defs//type", 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/$ref/type" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 836 - refRemote.json: "remote ref" - "remote ref valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 837 - refRemote.json: "remote ref" - "remote ref invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 838 - refRemote.json: "fragment within remote ref" - "remote fragment valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 839 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 840 - refRemote.json: "anchor within remote ref" - "remote anchor valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 841 - refRemote.json: "anchor within remote ref" - "remote anchor invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 842 - refRemote.json: "ref within remote ref" - "ref within ref valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 843 - refRemote.json: "ref within remote ref" - "ref within ref invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 844 - refRemote.json: "base URI change" - "base URI change ref valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 845 - refRemote.json: "base URI change" - "base URI change ref invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/0/0", 821s # "keywordLocation": "/items/items/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChange/#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/0/0", 821s # "keywordLocation": "/items/items/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChange/#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 846 - refRemote.json: "base URI change - change folder" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 847 - refRemote.json: "base URI change - change folder" - "string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/list/0", 821s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolder/#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/list", 821s # "keywordLocation": "/properties/list/$ref/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs1.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/list/0", 821s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolder/#/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/list", 821s # "keywordLocation": "/properties/list/$ref/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs1.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 848 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 849 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/list/0", 821s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolderInSubschema/#/$defs/bar/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/list", 821s # "keywordLocation": "/properties/list/$ref/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs2.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "/list/0", 821s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolderInSubschema/#/$defs/bar/items", 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "/list", 821s # "keywordLocation": "/properties/list/$ref/items" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs2.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 850 - refRemote.json: "root ref in remote ref" - "string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 851 - refRemote.json: "root ref in remote ref" - "null is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 852 - refRemote.json: "root ref in remote ref" - "object is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf/0/type", 821s # "error": "got object, not null", 821s # "instanceLocation": "/name", 821s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/type", 821s # "error": "got object, not string", 821s # "instanceLocation": "/name", 821s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "/name", 821s # "keywordLocation": "/properties/name/$ref/anyOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/object#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf/0/type", 821s # "error": "got object, not null", 821s # "instanceLocation": "/name", 821s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/type", 821s # "error": "got object, not string", 821s # "instanceLocation": "/name", 821s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "/name", 821s # "keywordLocation": "/properties/name/$ref/anyOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/object#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 853 - refRemote.json: "remote ref with ref to defs" - "invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/$ref/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/$ref/$ref/properties/bar/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 854 - refRemote.json: "remote ref with ref to defs" - "valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 855 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 856 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 857 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/name/foo", 821s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/foo-ref-string.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/name", 821s # "keywordLocation": "/properties/name/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/some-id#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "/name/foo", 821s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/foo-ref-string.json#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/name", 821s # "keywordLocation": "/properties/name/$ref/properties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/some-id#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 858 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 859 - refRemote.json: "remote HTTP ref with different $id" - "number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 860 - refRemote.json: "remote HTTP ref with different $id" - "string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 861 - refRemote.json: "remote HTTP ref with different URN $id" - "number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 862 - refRemote.json: "remote HTTP ref with different URN $id" - "string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 863 - refRemote.json: "remote HTTP ref with nested absolute ref" - "number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 864 - refRemote.json: "remote HTTP ref with nested absolute ref" - "string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 865 - refRemote.json: "$ref to $ref finds detached $anchor" - "number is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 866 - refRemote.json: "$ref to $ref finds detached $anchor" - "non-number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-ref.json#/$defs/detached/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-ref.json#/$defs/detached/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/$ref/$ref/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 867 - required.json: "required validation" - "present required property is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 868 - required.json: "required validation" - "non-present required property is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing property: foo", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 869 - required.json: "required validation" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 870 - required.json: "required validation" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 871 - required.json: "required validation" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 872 - required.json: "required default validation" - "not required by default" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 873 - required.json: "required with empty array" - "property not required" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 874 - required.json: "required with escaped characters" - "object with all properties present is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 875 - required.json: "required with escaped characters" - "object with some properties missing is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 876 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 877 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 878 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: __proto__, toString, constructor", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: __proto__, toString, constructor", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 879 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: toString, constructor", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: toString, constructor", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 880 - required.json: "required properties whose names are Javascript object property names" - "toString present" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: __proto__, constructor", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: __proto__, constructor", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 881 - required.json: "required properties whose names are Javascript object property names" - "constructor present" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: __proto__, toString", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "object is missing properties: __proto__, toString", 821s # "instanceLocation": "", 821s # "keywordLocation": "/required" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 882 - required.json: "required properties whose names are Javascript object property names" - "all present" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 883 - type.json: "integer type matches integers" - "an integer is an integer" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 884 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 885 - type.json: "integer type matches integers" - "a float is not an integer" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got number, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got number, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 886 - type.json: "integer type matches integers" - "a string is not an integer" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 887 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got string, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 888 - type.json: "integer type matches integers" - "an object is not an integer" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got object, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got object, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 889 - type.json: "integer type matches integers" - "an array is not an integer" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got array, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got array, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 890 - type.json: "integer type matches integers" - "a boolean is not an integer" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got boolean, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got boolean, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 891 - type.json: "integer type matches integers" - "null is not an integer" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got null, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 821s # "error": "got null, not integer", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 892 - type.json: "number type matches numbers" - "an integer is a number" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 893 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 894 - type.json: "number type matches numbers" - "a float is a number" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 895 - type.json: "number type matches numbers" - "a string is not a number" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 896 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 897 - type.json: "number type matches numbers" - "an object is not a number" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 898 - type.json: "number type matches numbers" - "an array is not a number" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 899 - type.json: "number type matches numbers" - "a boolean is not a number" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 900 - type.json: "number type matches numbers" - "null is not a number" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 901 - type.json: "string type matches strings" - "1 is not a string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 902 - type.json: "string type matches strings" - "a float is not a string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got number, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got number, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 903 - type.json: "string type matches strings" - "a string is a string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 904 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 905 - type.json: "string type matches strings" - "an empty string is still a string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 906 - type.json: "string type matches strings" - "an object is not a string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got object, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got object, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 907 - type.json: "string type matches strings" - "an array is not a string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got array, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got array, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 908 - type.json: "string type matches strings" - "a boolean is not a string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got boolean, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got boolean, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 909 - type.json: "string type matches strings" - "null is not a string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got null, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got null, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 910 - type.json: "object type matches objects" - "an integer is not an object" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 911 - type.json: "object type matches objects" - "a float is not an object" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 912 - type.json: "object type matches objects" - "a string is not an object" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 913 - type.json: "object type matches objects" - "an object is an object" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 914 - type.json: "object type matches objects" - "an array is not an object" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 915 - type.json: "object type matches objects" - "a boolean is not an object" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 916 - type.json: "object type matches objects" - "null is not an object" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 917 - type.json: "array type matches arrays" - "an integer is not an array" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 918 - type.json: "array type matches arrays" - "a float is not an array" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 919 - type.json: "array type matches arrays" - "a string is not an array" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 920 - type.json: "array type matches arrays" - "an object is not an array" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 921 - type.json: "array type matches arrays" - "an array is an array" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 922 - type.json: "array type matches arrays" - "a boolean is not an array" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 923 - type.json: "array type matches arrays" - "null is not an array" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not array", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 924 - type.json: "boolean type matches booleans" - "an integer is not a boolean" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 925 - type.json: "boolean type matches booleans" - "zero is not a boolean" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 926 - type.json: "boolean type matches booleans" - "a float is not a boolean" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 927 - type.json: "boolean type matches booleans" - "a string is not a boolean" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 928 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 929 - type.json: "boolean type matches booleans" - "an object is not a boolean" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 930 - type.json: "boolean type matches booleans" - "an array is not a boolean" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 931 - type.json: "boolean type matches booleans" - "true is a boolean" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 932 - type.json: "boolean type matches booleans" - "false is a boolean" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 933 - type.json: "boolean type matches booleans" - "null is not a boolean" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not boolean", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 934 - type.json: "null type matches only the null object" - "an integer is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 935 - type.json: "null type matches only the null object" - "a float is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 936 - type.json: "null type matches only the null object" - "zero is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 937 - type.json: "null type matches only the null object" - "a string is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 938 - type.json: "null type matches only the null object" - "an empty string is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 939 - type.json: "null type matches only the null object" - "an object is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 940 - type.json: "null type matches only the null object" - "an array is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 941 - type.json: "null type matches only the null object" - "true is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 942 - type.json: "null type matches only the null object" - "false is not null" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 943 - type.json: "null type matches only the null object" - "null is null" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 944 - type.json: "multiple types can be specified in an array" - "an integer is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 945 - type.json: "multiple types can be specified in an array" - "a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 946 - type.json: "multiple types can be specified in an array" - "a float is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got number, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 947 - type.json: "multiple types can be specified in an array" - "an object is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got object, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 948 - type.json: "multiple types can be specified in an array" - "an array is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got array, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 949 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got boolean, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 950 - type.json: "multiple types can be specified in an array" - "null is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not one of integer, string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 951 - type.json: "type as array with one item" - "string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 952 - type.json: "type as array with one item" - "number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not one of string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not one of string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 953 - type.json: "type: array or object" - "array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 954 - type.json: "type: array or object" - "object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 955 - type.json: "type: array or object" - "number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not one of array, object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not one of array, object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 956 - type.json: "type: array or object" - "string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not one of array, object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not one of array, object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 957 - type.json: "type: array or object" - "null is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not one of array, object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got null, not one of array, object", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 958 - type.json: "type: array, object or null" - "array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 959 - type.json: "type: array, object or null" - "object is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 960 - type.json: "type: array, object or null" - "null is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 961 - type.json: "type: array, object or null" - "number is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not one of array, object, null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not one of array, object, null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 962 - type.json: "type: array, object or null" - "string is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not one of array, object, null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not one of array, object, null", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 963 - unevaluatedItems.json: "unevaluatedItems true" - "with no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 964 - unevaluatedItems.json: "unevaluatedItems true" - "with unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 965 - unevaluatedItems.json: "unevaluatedItems false" - "with no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 966 - unevaluatedItems.json: "unevaluatedItems false" - "with unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 967 - unevaluatedItems.json: "unevaluatedItems as schema" - "with no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 968 - unevaluatedItems.json: "unevaluatedItems as schema" - "with valid unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 969 - unevaluatedItems.json: "unevaluatedItems as schema" - "with invalid unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 970 - unevaluatedItems.json: "unevaluatedItems with uniform items" - "unevaluatedItems doesn't apply" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 971 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 972 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 973 - unevaluatedItems.json: "unevaluatedItems with items and prefixItems" - "unevaluatedItems doesn't apply" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 974 - unevaluatedItems.json: "unevaluatedItems with items" - "valid under items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 975 - unevaluatedItems.json: "unevaluatedItems with items" - "invalid under items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/items/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 976 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 977 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 978 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with only (valid) additional items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 979 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with no additional items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 980 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with invalid additional item" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not boolean", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not boolean", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 981 - unevaluatedItems.json: "unevaluatedItems with nested prefixItems and items" - "with no additional items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 982 - unevaluatedItems.json: "unevaluatedItems with nested prefixItems and items" - "with additional items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 983 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with no additional items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 984 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with additional items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 985 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 986 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 987 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 988 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 989 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 990 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 991 - unevaluatedItems.json: "unevaluatedItems with not" - "with unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 992 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 993 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 994 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 995 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/4", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/4", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 996 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 997 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 998 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with no unevaluated items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 999 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with unevaluated items" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1000 - unevaluatedItems.json: "unevaluatedItems can't see inside cousins" - "always fails" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/allOf/1/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/allOf/1/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1001 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "no extra items" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1002 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "uncle keyword evaluation is not significant" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/foo/1", 821s # "keywordLocation": "/properties/foo/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/unevaluatedItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/foo/1", 821s # "keywordLocation": "/properties/foo/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/unevaluatedItems" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1003 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "second item is evaluated by contains" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1004 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "contains fails, second item is not evaluated" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/type" 821s # }, 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/contains/type" 821s # }, 821s # { 821s # "error": "got integer, not string", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/contains/type" 821s # }, 821s # { 821s # "error": "subschema is not valid against any item", 821s # "instanceLocation": "", 821s # "keywordLocation": "/contains" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1005 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "contains passes, second item is not evaluated" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1006 - unevaluatedItems.json: "unevaluatedItems depends on multiple nested contains" - "5 not evaluated, passes unevaluatedItems" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1007 - unevaluatedItems.json: "unevaluatedItems depends on multiple nested contains" - "7 not evaluated, fails unevaluatedItems" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 5", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/unevaluatedItems/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is not a multiple of 5", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/unevaluatedItems/multipleOf" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1008 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "empty array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1009 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only a's are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1010 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "a's and b's are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1011 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "a's, b's and c's are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1012 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only b's are invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1013 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only c's are invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1014 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only b's and c's are invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/4", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/1", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/3", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/4", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1015 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only a's and c's are invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/4", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/4", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1016 - unevaluatedItems.json: "non-array instances are valid" - "ignores booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1017 - unevaluatedItems.json: "non-array instances are valid" - "ignores integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1018 - unevaluatedItems.json: "non-array instances are valid" - "ignores floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1019 - unevaluatedItems.json: "non-array instances are valid" - "ignores objects" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1020 - unevaluatedItems.json: "non-array instances are valid" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1021 - unevaluatedItems.json: "non-array instances are valid" - "ignores null" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1022 - unevaluatedItems.json: "unevaluatedItems with null instance elements" - "allows null elements" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1023 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "valid in case if is evaluated" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1024 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "invalid in case if is evaluated" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/0", 821s # "keywordLocation": "/unevaluatedItems" 821s # }, 821s # { 821s # "error": "subschema is not valid against all additional items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 1025 - unevaluatedProperties.json: "unevaluatedProperties true" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1026 - unevaluatedProperties.json: "unevaluatedProperties true" - "with unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1027 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1028 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with valid unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1029 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with invalid unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 3", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties/minLength" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 3", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties/minLength" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1030 - unevaluatedProperties.json: "unevaluatedProperties false" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1031 - unevaluatedProperties.json: "unevaluatedProperties false" - "with unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1032 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1033 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1034 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1035 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1036 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with no additional properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1037 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with additional properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1038 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with no additional properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1039 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with additional properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1040 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with no additional properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1041 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with additional properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1042 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with no additional properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1043 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with additional properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1044 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with no nested unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1045 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with nested unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1046 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1047 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1048 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1049 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1050 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1051 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/quux", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1052 - unevaluatedProperties.json: "unevaluatedProperties with not" - "with unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1053 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1054 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1055 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1056 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1057 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has no unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1058 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1059 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1060 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1061 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1062 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1063 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has no unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1064 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1065 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1066 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1067 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1068 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1069 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with no unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1070 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/baz", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1071 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins" - "always fails" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1072 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins (reverse order)" - "always fails" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1073 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with no nested unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1074 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with nested unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1075 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with no nested unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1076 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with nested unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1077 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with no nested unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1078 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with nested unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1079 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with no nested unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1080 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with nested unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1081 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with no nested unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1082 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with nested unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1083 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with no nested unevaluated properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1084 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with nested unevaluated properties" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/1/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 1 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1085 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "no extra properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1086 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "uncle keyword evaluation is not significant" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo/faz", 821s # "keywordLocation": "/properties/foo/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo/faz", 821s # "keywordLocation": "/properties/foo/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/properties/foo/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1087 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "base case: both properties present" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1088 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, bar is missing" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1089 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, foo is missing" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "subschema 0 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1090 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "base case: both properties present" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1091 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, bar is missing" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1092 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, foo is missing" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1093 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Empty is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1094 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Single is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1095 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 1st level is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/y", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/y", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1096 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Nested is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1097 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 2nd level is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/x/y", 821s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/x", 821s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/x/y", 821s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/x", 821s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1098 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Deep nested is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1099 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 3rd level is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/x/x/y", 821s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/x/x", 821s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/x", 821s # "keywordLocation": "/properties/x/$ref/properties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/unevaluatedProperties", 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/x/x/y", 821s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/unevaluatedProperties", 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "/x/x", 821s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "/x", 821s # "keywordLocation": "/properties/x/$ref/properties" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1100 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "Empty is invalid (no x or y)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/required", 821s # "error": "object is missing property: x", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 821s # }, 821s # { 821s # "error": "object is missing property: y", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf" 821s # }, 821s # { 821s # "error": "subschema 2 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/required", 821s # "error": "object is missing property: x", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 821s # }, 821s # { 821s # "error": "object is missing property: y", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf" 821s # }, 821s # { 821s # "error": "subschema 2 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1101 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b are invalid (no x or y)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/required", 821s # "error": "object is missing property: x", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 821s # }, 821s # { 821s # "error": "object is missing property: y", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf" 821s # }, 821s # { 821s # "error": "subschema 2 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/required", 821s # "error": "object is missing property: x", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 821s # }, 821s # { 821s # "error": "object is missing property: y", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf" 821s # }, 821s # { 821s # "error": "subschema 2 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1102 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "x and y are invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf" 821s # }, 821s # { 821s # "error": "subschema 2 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/x", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/y", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf" 821s # }, 821s # { 821s # "error": "subschema 2 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/x", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/y", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1103 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and x are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1104 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and y are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1105 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1106 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and y are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1107 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x and y are invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf" 821s # }, 821s # { 821s # "error": "subschema 2 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/x", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/y", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf/2/oneOf" 821s # }, 821s # { 821s # "error": "subschema 2 is not valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/allOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/x", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/y", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1108 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "Empty is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required", 821s # "error": "object is missing property: c", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required", 821s # "error": "object is missing property: d", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 821s # "error": "object is missing property: b", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 821s # "error": "object is missing property: xx", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 821s # "error": "object is missing property: all", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required", 821s # "error": "object is missing property: c", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required", 821s # "error": "object is missing property: d", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 821s # "error": "object is missing property: b", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 821s # "error": "object is missing property: xx", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 821s # "error": "object is missing property: all", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1109 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1110 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1111 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1112 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "d is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1113 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + b is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1114 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + c is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1115 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + d is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1116 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + c is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/b", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/c", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/b", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/c", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1117 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + d is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/b", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/d", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/b", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/d", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1118 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c + d is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 821s # "error": "object is missing property: b", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 821s # "error": "object is missing property: xx", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 821s # "error": "object is missing property: all", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/c", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/d", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 821s # "error": "object is missing property: b", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 821s # "error": "object is missing property: xx", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 821s # "error": "object is missing property: all", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/c", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/d", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1119 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1120 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foox is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1121 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foo is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/foo", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1122 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + a is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1123 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + b is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 1, 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/b", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/xx", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 1, 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/b", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/xx", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1124 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + c is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 0, 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/c", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/xx", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 0, 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/c", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/xx", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1125 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + d is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 0, 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/d", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/xx", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 821s # "error": "multiple subschemas are valid: 0, 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/0/$ref/oneOf" 821s # }, 821s # { 821s # "error": "object is missing property: a", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf/1/required" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/d", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/xx", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1126 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1127 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + foo is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1128 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + a is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "multiple subschemas are valid: 0, 1", 821s # "instanceLocation": "", 821s # "keywordLocation": "/oneOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1129 - unevaluatedProperties.json: "non-object instances are valid" - "ignores booleans" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1130 - unevaluatedProperties.json: "non-object instances are valid" - "ignores integers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1131 - unevaluatedProperties.json: "non-object instances are valid" - "ignores floats" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1132 - unevaluatedProperties.json: "non-object instances are valid" - "ignores arrays" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1133 - unevaluatedProperties.json: "non-object instances are valid" - "ignores strings" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1134 - unevaluatedProperties.json: "non-object instances are valid" - "ignores null" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1135 - unevaluatedProperties.json: "unevaluatedProperties with null valued instance properties" - "allows null valued properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1136 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "allows only number properties" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1137 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "string property is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/a", 821s # "keywordLocation": "/unevaluatedProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "/a", 821s # "keywordLocation": "/unevaluatedProperties/type" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1138 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "valid in case if is evaluated" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1139 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "invalid in case if is evaluated" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/unevaluatedProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/unevaluatedProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 1140 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1141 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1142 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 2 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 2 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1143 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1144 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1145 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1146 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1147 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 2 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 2 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1148 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1149 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1150 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1151 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1152 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1153 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1154 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1155 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 2 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 2 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1156 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1157 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1158 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1159 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1160 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1161 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1162 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1163 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 4 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 4 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1164 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1165 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1166 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1167 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1168 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1169 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1170 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1171 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1172 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1173 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1174 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 2 and 3 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 2 and 3 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1175 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 2 and 3 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 2 and 3 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1176 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1177 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1178 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1179 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "items at indices 0 and 1 are not unique", 821s # "instanceLocation": "", 821s # "keywordLocation": "/uniqueItems" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1180 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1181 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1182 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1183 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1184 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1185 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1186 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1187 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1188 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1189 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1190 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1191 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1192 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1193 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1194 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1195 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1196 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1197 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1198 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1199 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1200 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1201 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1202 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1203 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1204 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1205 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1206 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1207 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1208 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional item not permitted", 821s # "instanceLocation": "/2", 821s # "keywordLocation": "/items" 821s # }, 821s # { 821s # "error": "subschema is not valid against all items", 821s # "instanceLocation": "", 821s # "keywordLocation": "/items" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s 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" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1210 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/not" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/not" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type", 821s # "error": "got null, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/2/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/not" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/not" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type", 821s # "error": "got null, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/2/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1211 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/not" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/not" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/2/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/0/$ref/not" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 821s # "error": "subschema is valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/1/$ref/not" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf/2/$ref/type" 821s # }, 821s # { 821s # "error": "no subschemas are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/anyOf" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 1212 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "applicator vocabulary still works" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty", 821s # "error": "property not permitted", 821s # "instanceLocation": "/badProperty", 821s # "keywordLocation": "/properties/badProperty" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty", 821s # "error": "property not permitted", 821s # "instanceLocation": "/badProperty", 821s # "keywordLocation": "/properties/badProperty" 821s # }, 821s # { 821s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties", 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/properties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1213 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: valid number" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1214 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: invalid number, but it still validates" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1215 - vocabulary.json: "ignore unrecognized optional vocabulary" - "string value" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not number", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1216 - vocabulary.json: "ignore unrecognized optional vocabulary" - "number value" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 1217 - optional/bignum.json: "integer" - "a bignum is an integer" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1218 - optional/bignum.json: "integer" - "a negative bignum is an integer" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1219 - optional/bignum.json: "number" - "a bignum is a number" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1220 - optional/bignum.json: "number" - "a negative bignum is a number" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1221 - optional/bignum.json: "string" - "a bignum is not a string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 821s # "error": "got integer, not string", 821s # "instanceLocation": "", 821s # "keywordLocation": "/type" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1222 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1223 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMaximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMaximum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1224 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1225 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMinimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 821s # "instanceLocation": "", 821s # "keywordLocation": "/exclusiveMinimum" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 1226 - optional/cross-draft.json: "refs to historic drafts are processed as historic drafts" - "first item not a string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 1227 - optional/dependencies-compatibility.json: "single dependency" - "neither" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1228 - optional/dependencies-compatibility.json: "single dependency" - "nondependant" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1229 - optional/dependencies-compatibility.json: "single dependency" - "with dependency" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1230 - optional/dependencies-compatibility.json: "single dependency" - "missing dependency" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1231 - optional/dependencies-compatibility.json: "single dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1232 - optional/dependencies-compatibility.json: "single dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1233 - optional/dependencies-compatibility.json: "single dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1234 - optional/dependencies-compatibility.json: "empty dependents" - "empty object" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1235 - optional/dependencies-compatibility.json: "empty dependents" - "object with one property" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1236 - optional/dependencies-compatibility.json: "empty dependents" - "non-object is valid" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1237 - optional/dependencies-compatibility.json: "multiple dependents required" - "neither" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1238 - optional/dependencies-compatibility.json: "multiple dependents required" - "nondependants" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1239 - optional/dependencies-compatibility.json: "multiple dependents required" - "with dependencies" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1240 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing dependency" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1241 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing other dependency" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1242 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing both dependencies" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1243 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1244 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1245 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF missing dependent" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1246 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1247 - optional/dependencies-compatibility.json: "single schema dependency" - "valid" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1248 - optional/dependencies-compatibility.json: "single schema dependency" - "no dependency" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1249 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1250 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type other" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1251 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type both" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1252 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1253 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1254 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1255 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema true is valid" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1256 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema false is invalid" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1257 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with both properties is invalid" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1258 - optional/dependencies-compatibility.json: "boolean subschemas" - "empty object is valid" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1259 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s ok 1260 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1261 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab invalid under dependent schema" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1262 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote invalid under dependent schema" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s # 821s ok 1263 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1264 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1265 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1266 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1267 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1268 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1269 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1270 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1271 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s 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" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false # 821s 1..1 821s } 821s 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" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected true; got false 821s # { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s 1..1 821s } 821s 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" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected true; got false 821s # { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s 1..1 821s } 821s ok 1277 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true # 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s 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" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false # 821s 1..1 821s } 821s 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" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected true; got false 821s # { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s 1..1 821s } 821s ok 1281 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1282 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1283 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1284 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1285 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1286 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected true; got false 821s # { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s 1..1 821s } 821s ok 1287 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1288 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1289 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1290 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1291 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1292 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1293 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1294 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1295 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1296 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1298 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1299 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1300 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1301 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1302 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1303 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1304 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1305 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1306 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1307 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1310 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1311 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1312 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1313 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1314 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1315 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1318 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1319 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1320 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1321 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1322 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1323 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1324 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/L'ÉCOLE", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/L'ÉCOLE", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1325 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1328 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/L'ÉCOLE", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/L'ÉCOLE", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1329 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/l'école", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/l'école", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1330 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/l'école", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/l'école", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1331 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1332 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1333 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/-%#", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/-%#", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s 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" 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected false; got true 821s # { 821s # "valid": true 821s # } 821s 1..1 821s } 821s ok 1335 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1336 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/-%#", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "additional property not permitted", 821s # "instanceLocation": "/-%#", 821s # "keywordLocation": "/additionalProperties" 821s # }, 821s # { 821s # "error": "not all additional properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/additionalProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1337 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 1338 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 1339 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: valid string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1340 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: invalid string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format", 821s # "error": "not a valid ipv4", 821s # "instanceLocation": "", 821s # "keywordLocation": "/format" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format", 821s # "error": "not a valid ipv4", 821s # "instanceLocation": "", 821s # "keywordLocation": "/format" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1341 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: valid string" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1342 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: invalid string" { 821s # result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format", 821s # "error": "not a valid ipv4", 821s # "instanceLocation": "", 821s # "keywordLocation": "/format" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format", 821s # "error": "not a valid ipv4", 821s # "instanceLocation": "", 821s # "keywordLocation": "/format" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 1343 - optional/no-schema.json: "validation without $schema" - "a 3-character string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1344 - optional/no-schema.json: "validation without $schema" - "a 1-character string is not valid" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "length is less than 2", 821s # "instanceLocation": "", 821s # "keywordLocation": "/minLength" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1345 - optional/no-schema.json: "validation without $schema" - "a non-string is valid" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s # 821s ok 1346 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1347 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1348 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1349 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1350 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1351 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1352 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "pattern does not match", 821s # "instanceLocation": "", 821s # "keywordLocation": "/pattern" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1353 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1354 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1355 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" { 821s # result: { 821s # "valid": true 821s # } 821s # short-circuited result: { 821s # "valid": true 821s # } 821s ok 1 - test passes: data is valid: true 821s 1..1 821s } 821s ok 1356 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/🐲", 821s # "keywordLocation": "/patternProperties/^🐲*$/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/🐲", 821s # "keywordLocation": "/patternProperties/^🐲*$/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s ok 1357 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" { 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/🐲🐲", 821s # "keywordLocation": "/patternProperties/^🐲*$/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "got string, not integer", 821s # "instanceLocation": "/🐲🐲", 821s # "keywordLocation": "/patternProperties/^🐲*$/type" 821s # }, 821s # { 821s # "error": "not all properties are valid", 821s # "instanceLocation": "", 821s # "keywordLocation": "/patternProperties" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false 821s 1..1 821s } 821s # 821s ok 1358 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "match" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected true; got false 821s # { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s 1..1 821s } 821s ok 1359 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "mismatch" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false # 821s 1..1 821s } 821s ok 1360 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "match" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s not ok 1 - evaluation result is incorrect # 821s # Failed test (with amnesty) 'evaluation result is incorrect' 821s # at t/zzz-acceptance-draft2020-12.t line 45. 821s # expected true; got false 821s # { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s 1..1 821s } 821s ok 1361 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "mismatch" { # TODO Test marked TODO via "todo_tests" 821s # result: { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s # short-circuited result: { 821s # "errors": [ 821s # { 821s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 821s # "instanceLocation": "/bar", 821s # "keywordLocation": "/properties/bar/$ref" 821s # } 821s # ], 821s # "valid": false 821s # } 821s ok 1 - test passes: data is valid: false # 821s 1..1 821s } 821s # 821s # 821s # Results using Test::JSON::Schema::Acceptance 1.021 821s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 821s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 821s # specification version: draft2020-12 821s # optional tests included: yes 821s # skipping directory: optional/format 821s # 821s # filename pass todo-fail fail 821s # --------------------------------------------------------------- 821s # additionalProperties.json 16 0 0 821s # allOf.json 30 0 0 821s # anchor.json 17 0 0 821s # anyOf.json 18 0 0 821s # boolean_schema.json 18 0 0 821s # const.json 50 0 0 821s # contains.json 21 0 0 821s # content.json 18 0 0 821s # default.json 7 0 0 821s # defs.json 2 0 0 821s # dependentRequired.json 20 0 0 821s # dependentSchemas.json 20 0 0 821s # dynamicRef.json 38 0 0 821s # enum.json 33 0 0 821s # exclusiveMaximum.json 4 0 0 821s # exclusiveMinimum.json 4 0 0 821s # format.json 133 0 0 821s # id.json 18 0 0 821s # if-then-else.json 26 0 0 821s # infinite-loop-detection.json 2 0 0 821s # items.json 27 0 0 821s # maxContains.json 12 0 0 821s # maxItems.json 6 0 0 821s # maxLength.json 7 0 0 821s # maxProperties.json 10 0 0 821s # maximum.json 8 0 0 821s # minContains.json 28 0 0 821s # minItems.json 6 0 0 821s # minLength.json 7 0 0 821s # minProperties.json 8 0 0 821s # minimum.json 11 0 0 821s # multipleOf.json 10 0 0 821s # not.json 14 0 0 821s # oneOf.json 27 0 0 821s # pattern.json 9 0 0 821s # patternProperties.json 23 0 0 821s # prefixItems.json 11 0 0 821s # properties.json 28 0 0 821s # propertyNames.json 10 0 0 821s # ref.json 78 0 0 821s # refRemote.json 31 0 0 821s # required.json 16 0 0 821s # type.json 80 0 0 821s # unevaluatedItems.json 62 0 0 821s # unevaluatedProperties.json 115 0 0 821s # uniqueItems.json 69 0 0 821s # unknownKeyword.json 3 0 0 821s # vocabulary.json 5 0 0 821s # optional/bignum.json 9 0 0 821s # optional/cross-draft.json 1 0 0 821s # optional/dependencies-compatibility.json 22 14 0 821s # optional/ecmascript-regex.json 60 15 0 821s # optional/float-overflow.json 1 0 0 821s # optional/format-assertion.json 4 0 0 821s # optional/no-schema.json 3 0 0 821s # optional/non-bmp-regex.json 12 0 0 821s # optional/refOfUnknownKeyword.json 2 2 0 821s # --------------------------------------------------------------- 821s # TOTAL 1330 31 0 821s # 821s # Congratulations, all non-optional tests are passing! 821s # 821s ok 1362 - no leaks in the main evaluator object 821s ok 1363 - no leaks in the short-circuiting evaluator object 821s 1..1363 821s ok 827s t/zzz-acceptance-draft7-format.t ........ 827s # AUTHOR_TESTING: 827s # AUTOMATED_TESTING: 1 827s # EXTENDED_TESTING: 827s # NO_TODO: 827s # TEST_DIR: 827s # NO_SHORT_CIRCUIT: 827s # 827s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft7/optional/format against draft7... 827s # 827s ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date-time", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s # 827s ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 32 - date.json: "validation of date strings" - "a valid date string" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 60 - date.json: "validation of date strings" - "an invalid date string" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 64 - date.json: "validation of date strings" - "invalid month" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 65 - date.json: "validation of date strings" - "invalid month-day combination" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 67 - date.json: "validation of date strings" - "2020 is a leap year" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid date", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s # 827s ok 73 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 74 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 75 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 76 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 77 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 78 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 79 - email.json: "validation of e-mail addresses" - "a valid e-mail address" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 80 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 81 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 82 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 83 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 84 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 85 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 86 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 87 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s # 827s ok 88 - hostname.json: "validation of host names" - "all string formats ignore integers" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 89 - hostname.json: "validation of host names" - "all string formats ignore floats" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 90 - hostname.json: "validation of host names" - "all string formats ignore objects" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 91 - hostname.json: "validation of host names" - "all string formats ignore arrays" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 92 - hostname.json: "validation of host names" - "all string formats ignore booleans" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 93 - hostname.json: "validation of host names" - "all string formats ignore nulls" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 94 - hostname.json: "validation of host names" - "a valid host name" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 95 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 96 - hostname.json: "validation of host names" - "a host name starting with an illegal character" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 97 - hostname.json: "validation of host names" - "a host name containing illegal characters" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 98 - hostname.json: "validation of host names" - "a host name with a component too long" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 99 - hostname.json: "validation of host names" - "starts with hyphen" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 100 - hostname.json: "validation of host names" - "ends with hyphen" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 101 - hostname.json: "validation of host names" - "starts with underscore" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 102 - hostname.json: "validation of host names" - "ends with underscore" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 103 - hostname.json: "validation of host names" - "contains underscore" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 104 - hostname.json: "validation of host names" - "maximum label length" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 105 - hostname.json: "validation of host names" - "exceeds maximum label length" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 106 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected true; got false 827s # { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s 1..1 827s } 827s ok 107 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected true; got false 827s # { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s 1..1 827s } 827s ok 108 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected true; got false 827s # { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s 1..1 827s } 827s ok 109 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected true; got false 827s # { 827s # "errors": [ 827s # { 827s # "error": "not a valid hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s 1..1 827s } 827s # 827s ok 110 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 111 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 112 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 113 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 114 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 115 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 116 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 117 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s ok 118 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" { 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true 827s 1..1 827s } 827s ok 119 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" { 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-email", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false 827s 1..1 827s } 827s # 827s ok 120 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true # 827s 1..1 827s } 827s ok 121 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true # 827s 1..1 827s } 827s ok 122 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true # 827s 1..1 827s } 827s ok 123 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true # 827s 1..1 827s } 827s ok 124 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true # 827s 1..1 827s } 827s ok 125 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true # 827s 1..1 827s } 827s 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" 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s ok 1 - test passes: data is valid: true # 827s 1..1 827s } 827s 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" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s 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" 827s # result: { 827s # "valid": true 827s # } 827s # short-circuited result: { 827s # "valid": true 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected false; got true 827s # { 827s # "valid": true 827s # } 827s 1..1 827s } 827s 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" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 130 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 131 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected true; got false 827s # { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s 1..1 827s } 827s ok 132 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s 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" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 134 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 135 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s 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" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 137 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 138 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 139 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s 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" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected true; got false 827s # { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s 1..1 827s } 827s 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" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected true; got false 827s # { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s 1..1 827s } 827s 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" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s 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" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 144 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 145 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 146 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 147 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 148 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s not ok 1 - evaluation result is incorrect # 827s # Failed test (with amnesty) 'evaluation result is incorrect' 827s # at t/zzz-acceptance-draft7-format.t line 65. 827s # expected true; got false 827s # { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s 1..1 827s } 827s ok 149 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests" 827s # result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s # short-circuited result: { 827s # "errors": [ 827s # { 827s # "error": "not a valid idn-hostname", 827s # "instanceLocation": "", 827s # "keywordLocation": "/format" 827s # } 827s # ], 827s # "valid": false 827s # } 827s ok 1 - test passes: data is valid: false # 827s 1..1 827s } 827s ok 150 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 151 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 152 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 153 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 154 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 155 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 156 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 157 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s 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" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 159 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 160 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 161 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 162 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s 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" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s 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" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s 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" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 166 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 167 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false # 828s 1..1 828s } 828s ok 168 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 169 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s 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" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 171 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 172 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 173 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s ok 174 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected true; got false 828s # { 828s # "errors": [ 828s # { 828s # "error": "not a valid idn-hostname", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s 1..1 828s } 828s # 828s ok 175 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 176 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 177 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 178 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 179 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 180 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 181 - ipv4.json: "validation of IP addresses" - "a valid IP address" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 182 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 183 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 184 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 185 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 186 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 187 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 188 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 189 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 190 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv4", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s # 828s ok 191 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 192 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 193 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 194 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 195 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 196 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 197 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 198 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 199 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 200 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 201 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 202 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 203 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 204 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 205 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 206 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 207 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 208 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 209 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 210 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 211 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 212 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 213 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 214 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 215 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 216 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 217 - ipv6.json: "validation of IPv6 addresses" - "8 octets" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 218 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 219 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 220 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 221 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 222 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 223 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 224 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 225 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 226 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 227 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 228 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 229 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 230 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid ipv6", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s # 828s ok 231 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 232 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 233 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 234 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 235 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 236 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 237 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 238 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 239 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 240 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected false; got true 828s # { 828s # "valid": true 828s # } 828s 1..1 828s } 828s ok 241 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 242 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 243 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected false; got true 828s # { 828s # "valid": true 828s # } 828s 1..1 828s } 828s # 828s ok 244 - iri.json: "validation of IRIs" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 245 - iri.json: "validation of IRIs" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 246 - iri.json: "validation of IRIs" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 247 - iri.json: "validation of IRIs" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 248 - iri.json: "validation of IRIs" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 249 - iri.json: "validation of IRIs" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 250 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 251 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 252 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 253 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 254 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 255 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected false; got true 828s # { 828s # "valid": true 828s # } 828s 1..1 828s } 828s ok 256 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid iri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid iri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 257 - iri.json: "validation of IRIs" - "an invalid IRI" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid iri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid iri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 258 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid iri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid iri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s # 828s ok 259 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 260 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 261 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 262 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 263 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 264 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 265 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 266 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 267 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 268 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 269 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 270 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 271 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 272 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 273 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 274 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 275 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 276 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 277 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 278 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 279 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 280 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 281 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 282 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 283 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 284 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 285 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 286 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 287 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 288 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 289 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 290 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 291 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 292 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 293 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 294 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 295 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 296 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s # 828s ok 297 - regex.json: "validation of regular expressions" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 298 - regex.json: "validation of regular expressions" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 299 - regex.json: "validation of regular expressions" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 300 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 301 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 302 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 303 - regex.json: "validation of regular expressions" - "a valid regular expression" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 304 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid regex", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid regex", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s # 828s ok 305 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 306 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 307 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 308 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 309 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 310 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 311 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 312 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 313 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 314 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 315 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 316 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 317 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 318 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 319 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 320 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 321 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid relative-json-pointer", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 322 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s # 828s ok 323 - time.json: "validation of time strings" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 324 - time.json: "validation of time strings" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 325 - time.json: "validation of time strings" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 326 - time.json: "validation of time strings" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 327 - time.json: "validation of time strings" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 328 - time.json: "validation of time strings" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 329 - time.json: "validation of time strings" - "a valid time string" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 330 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 331 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 332 - time.json: "validation of time strings" - "hour, minute, second must be two digits" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 333 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 334 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 335 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 336 - time.json: "validation of time strings" - "valid leap second, zero time-offset" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 337 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 338 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 339 - time.json: "validation of time strings" - "valid leap second, positive time-offset" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 340 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 341 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 342 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 343 - time.json: "validation of time strings" - "valid leap second, negative time-offset" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 344 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 345 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 346 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 347 - time.json: "validation of time strings" - "a valid time string with second fraction" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 348 - time.json: "validation of time strings" - "a valid time string with precise second fraction" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 349 - time.json: "validation of time strings" - "a valid time string with plus offset" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 350 - time.json: "validation of time strings" - "a valid time string with minus offset" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 351 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 352 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 353 - time.json: "validation of time strings" - "an invalid time string with invalid hour" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 354 - time.json: "validation of time strings" - "an invalid time string with invalid minute" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 355 - time.json: "validation of time strings" - "an invalid time string with invalid second" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 356 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 357 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 358 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 359 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 360 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 361 - time.json: "validation of time strings" - "an invalid offset indicator" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 362 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 363 - time.json: "validation of time strings" - "no time offset" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 364 - time.json: "validation of time strings" - "no time offset with second fraction" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 365 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 366 - time.json: "validation of time strings" - "offset not starting with plus or minus" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 367 - time.json: "validation of time strings" - "contains letters" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid time", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s # 828s ok 368 - unknown.json: "unknown format" - "unknown formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 369 - unknown.json: "unknown format" - "unknown formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 370 - unknown.json: "unknown format" - "unknown formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 371 - unknown.json: "unknown format" - "unknown formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 372 - unknown.json: "unknown format" - "unknown formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 373 - unknown.json: "unknown format" - "unknown formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 374 - unknown.json: "unknown format" - "unknown formats ignore strings" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s # 828s ok 375 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 376 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 377 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 378 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 379 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 380 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 381 - uri-reference.json: "validation of URI References" - "a valid URI" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 382 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 383 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 384 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri-reference", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri-reference", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 385 - uri-reference.json: "validation of URI References" - "a valid URI Reference" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 386 - uri-reference.json: "validation of URI References" - "a valid URI fragment" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 387 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri-reference", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri-reference", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s # 828s ok 388 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 389 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 390 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 391 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 392 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 393 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 394 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 395 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected false; got true 828s # { 828s # "valid": true 828s # } 828s 1..1 828s } 828s ok 396 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s ok 397 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true # 828s 1..1 828s } 828s # 828s ok 398 - uri.json: "validation of URIs" - "all string formats ignore integers" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 399 - uri.json: "validation of URIs" - "all string formats ignore floats" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 400 - uri.json: "validation of URIs" - "all string formats ignore objects" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 401 - uri.json: "validation of URIs" - "all string formats ignore arrays" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 402 - uri.json: "validation of URIs" - "all string formats ignore booleans" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 403 - uri.json: "validation of URIs" - "all string formats ignore nulls" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 404 - uri.json: "validation of URIs" - "a valid URL with anchor tag" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 405 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 406 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 407 - uri.json: "validation of URIs" - "a valid puny-coded URL " { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 408 - uri.json: "validation of URIs" - "a valid URL with many special characters" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 409 - uri.json: "validation of URIs" - "a valid URL based on IPv4" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 410 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 411 - uri.json: "validation of URIs" - "a valid URL for a simple text file" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 412 - uri.json: "validation of URIs" - "a valid URL " { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 413 - uri.json: "validation of URIs" - "a valid mailto URI" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 414 - uri.json: "validation of URIs" - "a valid newsgroup URI" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 415 - uri.json: "validation of URIs" - "a valid tel URI" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 416 - uri.json: "validation of URIs" - "a valid URN" { 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s ok 1 - test passes: data is valid: true 828s 1..1 828s } 828s ok 417 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 418 - uri.json: "validation of URIs" - "an invalid relative URI Reference" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 419 - uri.json: "validation of URIs" - "an invalid URI" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 420 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 421 - uri.json: "validation of URIs" - "an invalid URI with spaces" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 422 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" { 828s # result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s # short-circuited result: { 828s # "errors": [ 828s # { 828s # "error": "not a valid uri", 828s # "instanceLocation": "", 828s # "keywordLocation": "/format" 828s # } 828s # ], 828s # "valid": false 828s # } 828s ok 1 - test passes: data is valid: false 828s 1..1 828s } 828s ok 423 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests" 828s # result: { 828s # "valid": true 828s # } 828s # short-circuited result: { 828s # "valid": true 828s # } 828s not ok 1 - evaluation result is incorrect # 828s # Failed test (with amnesty) 'evaluation result is incorrect' 828s # at t/zzz-acceptance-draft7-format.t line 65. 828s # expected false; got true 828s # { 828s # "valid": true 828s # } 828s 1..1 828s } 828s # 828s # 828s # Results using Test::JSON::Schema::Acceptance 1.021 828s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 828s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 828s # specification version: draft7 828s # using custom test directory: /optional/format 828s # optional tests included: yes 828s # 828s # filename pass todo-fail fail 828s # --------------------------------------------------------------- 828s # date-time.json 25 0 0 828s # date.json 47 0 0 828s # email.json 15 0 0 828s # hostname.json 18 4 0 828s # idn-email.json 10 0 0 828s # idn-hostname.json 35 20 0 828s # ipv4.json 16 0 0 828s # ipv6.json 40 0 0 828s # iri-reference.json 11 2 0 828s # iri.json 14 1 0 828s # json-pointer.json 38 0 0 828s # regex.json 8 0 0 828s # relative-json-pointer.json 18 0 0 828s # time.json 45 0 0 828s # unknown.json 7 0 0 828s # uri-reference.json 13 0 0 828s # uri-template.json 9 1 0 828s # uri.json 25 1 0 828s # --------------------------------------------------------------- 828s # TOTAL 394 29 0 828s # 828s # Congratulations, all non-optional tests are passing! 828s # 828s ok 424 - no leaks in the main evaluator object 828s ok 425 - no leaks in the short-circuiting evaluator object 828s 1..425 828s ok 852s t/zzz-acceptance-draft7.t ............... 852s # AUTHOR_TESTING: 852s # AUTOMATED_TESTING: 1 852s # EXTENDED_TESTING: 852s # NO_TODO: 852s # TEST_DIR: 852s # NO_SHORT_CIRCUIT: 852s # 852s # adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"... 852s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft7 against draft7... 852s # 852s ok 1 - additionalItems.json: "additionalItems as schema" - "additional items match schema" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 2 - additionalItems.json: "additionalItems as schema" - "additional items do not match schema" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/3", 852s # "keywordLocation": "/additionalItems/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/3", 852s # "keywordLocation": "/additionalItems/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 3 - additionalItems.json: "when items is schema, additionalItems does nothing" - "valid with a array of type integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 4 - additionalItems.json: "when items is schema, additionalItems does nothing" - "invalid with a array of mixed types" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/type" 852s # }, 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 5 - additionalItems.json: "when items is schema, boolean additionalItems does nothing" - "all items match schema" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 6 - additionalItems.json: "array of items with no additionalItems permitted" - "empty array" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 7 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (1)" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 8 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (2)" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 9 - additionalItems.json: "array of items with no additionalItems permitted" - "equal number of items present" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 10 - additionalItems.json: "array of items with no additionalItems permitted" - "additional items are not permitted" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "additional item not permitted", 852s # "instanceLocation": "/3", 852s # "keywordLocation": "/additionalItems" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "additional item not permitted", 852s # "instanceLocation": "/3", 852s # "keywordLocation": "/additionalItems" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 11 - additionalItems.json: "additionalItems as false without items" - "items defaults to empty schema so everything is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 12 - additionalItems.json: "additionalItems as false without items" - "ignores non-arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 13 - additionalItems.json: "additionalItems are allowed by default" - "only the first item is validated" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 14 - additionalItems.json: "additionalItems does not look in applicators, valid case" - "items defined in allOf are not examined" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 15 - additionalItems.json: "additionalItems does not look in applicators, invalid case" - "items defined in allOf are not examined" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not boolean", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/additionalItems/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not boolean", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/additionalItems/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 16 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "valid items" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 17 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "wrong type of second item" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/additionalItems/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/additionalItems/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 18 - additionalItems.json: "additionalItems with null instance elements" - "allows null elements" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 19 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 20 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "additional property not permitted", 852s # "instanceLocation": "/quux", 852s # "keywordLocation": "/additionalProperties" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "additional property not permitted", 852s # "instanceLocation": "/quux", 852s # "keywordLocation": "/additionalProperties" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 21 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 22 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 23 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 24 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 25 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 26 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "additional property not permitted", 852s # "instanceLocation": "/élmény", 852s # "keywordLocation": "/additionalProperties" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "additional property not permitted", 852s # "instanceLocation": "/élmény", 852s # "keywordLocation": "/additionalProperties" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 27 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 28 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 29 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not boolean", 852s # "instanceLocation": "/quux", 852s # "keywordLocation": "/additionalProperties/type" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not boolean", 852s # "instanceLocation": "/quux", 852s # "keywordLocation": "/additionalProperties/type" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 30 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 31 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not boolean", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/additionalProperties/type" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not boolean", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/additionalProperties/type" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 32 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 33 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not boolean", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/additionalProperties/type" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not boolean", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/additionalProperties/type" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 34 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 35 - allOf.json: "allOf" - "allOf" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 36 - allOf.json: "allOf" - "mismatch second" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/required" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/required" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 37 - allOf.json: "allOf" - "mismatch first" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1/required" 852s # }, 852s # { 852s # "error": "subschema 1 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1/required" 852s # }, 852s # { 852s # "error": "subschema 1 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 38 - allOf.json: "allOf" - "wrong type" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/allOf/0/properties/bar/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/properties" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/allOf/0/properties/bar/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/properties" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 39 - allOf.json: "allOf with base schema" - "valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 40 - allOf.json: "allOf with base schema" - "mismatch base schema" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/required" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/required" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 41 - allOf.json: "allOf with base schema" - "mismatch first allOf" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/required" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/required" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 42 - allOf.json: "allOf with base schema" - "mismatch second allOf" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: baz", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1/required" 852s # }, 852s # { 852s # "error": "subschema 1 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: baz", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1/required" 852s # }, 852s # { 852s # "error": "subschema 1 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 43 - allOf.json: "allOf with base schema" - "mismatch both" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/required" 852s # }, 852s # { 852s # "error": "object is missing property: baz", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1/required" 852s # }, 852s # { 852s # "error": "subschemas 0, 1 are not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/required" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 44 - allOf.json: "allOf simple types" - "valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 45 - allOf.json: "allOf simple types" - "mismatch one" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is larger than 30", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/maximum" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is larger than 30", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/maximum" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 46 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 47 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1" 852s # }, 852s # { 852s # "error": "subschema 1 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1" 852s # }, 852s # { 852s # "error": "subschema 1 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 48 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0" 852s # }, 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1" 852s # }, 852s # { 852s # "error": "subschemas 0, 1 are not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 49 - allOf.json: "allOf with one empty schema" - "any data is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 50 - allOf.json: "allOf with two empty schemas" - "any data is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 51 - allOf.json: "allOf with the first empty schema" - "number is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 52 - allOf.json: "allOf with the first empty schema" - "string is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not number", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1/type" 852s # }, 852s # { 852s # "error": "subschema 1 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not number", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1/type" 852s # }, 852s # { 852s # "error": "subschema 1 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 53 - allOf.json: "allOf with the last empty schema" - "number is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 54 - allOf.json: "allOf with the last empty schema" - "string is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not number", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/type" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not number", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/type" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 55 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 56 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not null", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/allOf/0/type" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/allOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not null", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/allOf/0/type" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/allOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 57 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 5", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 58 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 59 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 5", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 60 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 61 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 5", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 62 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 63 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 5", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 5", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf/0/multipleOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/oneOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 64 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 65 - anyOf.json: "anyOf" - "first anyOf valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 66 - anyOf.json: "anyOf" - "second anyOf valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 67 - anyOf.json: "anyOf" - "both anyOf valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 68 - anyOf.json: "anyOf" - "neither anyOf valid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got number, not integer", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/type" 852s # }, 852s # { 852s # "error": "value is smaller than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1/minimum" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got number, not integer", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/type" 852s # }, 852s # { 852s # "error": "value is smaller than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1/minimum" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 69 - anyOf.json: "anyOf with base schema" - "mismatch base schema" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not string", 852s # "instanceLocation": "", 852s # "keywordLocation": "/type" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not string", 852s # "instanceLocation": "", 852s # "keywordLocation": "/type" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 70 - anyOf.json: "anyOf with base schema" - "one anyOf valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 71 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "length is greater than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/maxLength" 852s # }, 852s # { 852s # "error": "length is less than 4", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1/minLength" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "length is greater than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/maxLength" 852s # }, 852s # { 852s # "error": "length is less than 4", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1/minLength" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 72 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 73 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 74 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0" 852s # }, 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0" 852s # }, 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 75 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 76 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 77 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 78 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/anyOf/0/properties/bar/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/properties" 852s # }, 852s # { 852s # "error": "got integer, not string", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/anyOf/1/properties/foo/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1/properties" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/anyOf/0/properties/bar/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/properties" 852s # }, 852s # { 852s # "error": "got integer, not string", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/anyOf/1/properties/foo/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1/properties" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 79 - anyOf.json: "anyOf with one empty schema" - "string is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 80 - anyOf.json: "anyOf with one empty schema" - "number is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 81 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 82 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not null", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/anyOf/0/type" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/anyOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not null", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/anyOf/0/type" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/anyOf" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 83 - boolean_schema.json: "boolean schema 'true'" - "number is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 84 - boolean_schema.json: "boolean schema 'true'" - "string is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 85 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 86 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 87 - boolean_schema.json: "boolean schema 'true'" - "null is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 88 - boolean_schema.json: "boolean schema 'true'" - "object is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 89 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 90 - boolean_schema.json: "boolean schema 'true'" - "array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 91 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 92 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 93 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 94 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 95 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 96 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 97 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 98 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 99 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 100 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 101 - const.json: "const validation" - "same value is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 102 - const.json: "const validation" - "another value is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 103 - const.json: "const validation" - "another type is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 104 - const.json: "const with object" - "same object is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 105 - const.json: "const with object" - "same object with different property order is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 106 - const.json: "const with object" - "another object is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 107 - const.json: "const with object" - "another type is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 108 - const.json: "const with array" - "same array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 109 - const.json: "const with array" - "another array item is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 110 - const.json: "const with array" - "array with additional items is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 111 - const.json: "const with null" - "null is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 112 - const.json: "const with null" - "not null is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 113 - const.json: "const with false does not match 0" - "false is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 114 - const.json: "const with false does not match 0" - "integer zero is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 115 - const.json: "const with false does not match 0" - "float zero is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 116 - const.json: "const with true does not match 1" - "true is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 117 - const.json: "const with true does not match 1" - "integer one is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 118 - const.json: "const with true does not match 1" - "float one is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 119 - const.json: "const with [false] does not match [0]" - "[false] is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 120 - const.json: "const with [false] does not match [0]" - "[0] is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 121 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 122 - const.json: "const with [true] does not match [1]" - "[true] is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 123 - const.json: "const with [true] does not match [1]" - "[1] is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 124 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/0\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 125 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 126 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/a\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/a\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 127 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/a\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/a\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 128 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 129 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/a\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/a\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 130 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/a\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match (differences start at \"/a\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 131 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 132 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 133 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 134 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 135 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 136 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 137 - const.json: "const with 1 does not match true" - "true is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 138 - const.json: "const with 1 does not match true" - "integer one is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 139 - const.json: "const with 1 does not match true" - "float one is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 140 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 141 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 142 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 143 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 144 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 145 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 146 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 147 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 148 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 149 - const.json: "nul characters in strings" - "match string with nul" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 150 - const.json: "nul characters in strings" - "do not match string lacking nul" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/const" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 151 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 152 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 153 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 154 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than 5", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains/minimum" 852s # }, 852s # { 852s # "error": "value is smaller than 5", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/contains/minimum" 852s # }, 852s # { 852s # "error": "value is smaller than 5", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/contains/minimum" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than 5", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains/minimum" 852s # }, 852s # { 852s # "error": "value is smaller than 5", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/contains/minimum" 852s # }, 852s # { 852s # "error": "value is smaller than 5", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/contains/minimum" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 155 - contains.json: "contains keyword validation" - "empty array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 156 - contains.json: "contains keyword validation" - "not array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 157 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 158 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 159 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains/const" 852s # }, 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/contains/const" 852s # }, 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/contains/const" 852s # }, 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/3", 852s # "keywordLocation": "/contains/const" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains/const" 852s # }, 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/contains/const" 852s # }, 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/contains/const" 852s # }, 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/3", 852s # "keywordLocation": "/contains/const" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 160 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 161 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 162 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 163 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 164 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 165 - contains.json: "items + contains" - "matches items, does not match contains" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains/multipleOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/contains/multipleOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/contains/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains/multipleOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/contains/multipleOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/contains/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 166 - contains.json: "items + contains" - "does not match items, matches contains" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/multipleOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/items/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 167 - contains.json: "items + contains" - "matches both items and contains" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 168 - contains.json: "items + contains" - "matches neither items nor contains" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/multipleOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # }, 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/contains/multipleOf" 852s # }, 852s # { 852s # "error": "value is not a multiple of 3", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/contains/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 169 - contains.json: "contains with false if subschema" - "any non-empty array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 170 - contains.json: "contains with false if subschema" - "empty array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is not valid against any item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/contains" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 171 - contains.json: "contains with null instance elements" - "allows null items" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 172 - default.json: "invalid type for default" - "valid when property is specified" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 173 - default.json: "invalid type for default" - "still valid when the invalid default is used" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 174 - default.json: "invalid string value for default" - "valid when property is specified" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 175 - default.json: "invalid string value for default" - "still valid when the invalid default is used" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s 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)" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s 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)" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is larger than 3", 852s # "instanceLocation": "/alpha", 852s # "keywordLocation": "/properties/alpha/maximum" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/properties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is larger than 3", 852s # "instanceLocation": "/alpha", 852s # "keywordLocation": "/properties/alpha/maximum" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/properties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s 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" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 179 - definitions.json: "validate definition against metaschema" - "valid definition schema" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 180 - definitions.json: "validate definition against metaschema" - "invalid definition schema" { 852s # result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/simpleTypes/enum", 852s # "error": "value does not match", 852s # "instanceLocation": "/definitions/foo/type", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf/1/type", 852s # "error": "got integer, not array", 852s # "instanceLocation": "/definitions/foo/type", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf", 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "/definitions/foo/type", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 852s # "error": "not all properties are valid", 852s # "instanceLocation": "/definitions/foo", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/definitions/additionalProperties", 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "/definitions", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/$ref/properties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/simpleTypes/enum", 852s # "error": "value does not match", 852s # "instanceLocation": "/definitions/foo/type", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf/1/type", 852s # "error": "got integer, not array", 852s # "instanceLocation": "/definitions/foo/type", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf", 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "/definitions/foo/type", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 852s # "error": "not all properties are valid", 852s # "instanceLocation": "/definitions/foo", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/definitions/additionalProperties", 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "/definitions", 852s # "keywordLocation": "/$ref/properties/definitions/additionalProperties" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/$ref/properties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 181 - dependencies.json: "dependencies" - "neither" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 182 - dependencies.json: "dependencies" - "nondependant" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 183 - dependencies.json: "dependencies" - "with dependency" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 184 - dependencies.json: "dependencies" - "missing dependency" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 185 - dependencies.json: "dependencies" - "ignores arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 186 - dependencies.json: "dependencies" - "ignores strings" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 187 - dependencies.json: "dependencies" - "ignores other non-objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 188 - dependencies.json: "dependencies with empty array" - "empty object" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 189 - dependencies.json: "dependencies with empty array" - "object with one property" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 190 - dependencies.json: "dependencies with empty array" - "non-object is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 191 - dependencies.json: "multiple dependencies" - "neither" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 192 - dependencies.json: "multiple dependencies" - "nondependants" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 193 - dependencies.json: "multiple dependencies" - "with dependencies" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 194 - dependencies.json: "multiple dependencies" - "missing dependency" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/quux" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/quux" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 195 - dependencies.json: "multiple dependencies" - "missing other dependency" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/quux" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/quux" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 196 - dependencies.json: "multiple dependencies" - "missing both dependencies" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing properties: foo, bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/quux" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing properties: foo, bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/quux" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 197 - dependencies.json: "multiple dependencies subschema" - "valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 198 - dependencies.json: "multiple dependencies subschema" - "no dependency" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 199 - dependencies.json: "multiple dependencies subschema" - "wrong type" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/dependencies/bar/properties/foo/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar/properties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/dependencies/bar/properties/foo/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar/properties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 200 - dependencies.json: "multiple dependencies subschema" - "wrong type other" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/dependencies/bar/properties/bar/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar/properties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/dependencies/bar/properties/bar/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar/properties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 201 - dependencies.json: "multiple dependencies subschema" - "wrong type both" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/dependencies/bar/properties/bar/type" 852s # }, 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/dependencies/bar/properties/foo/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar/properties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/dependencies/bar/properties/bar/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar/properties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 202 - dependencies.json: "dependencies with boolean subschemas" - "object with property having schema true is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 203 - dependencies.json: "dependencies with boolean subschemas" - "object with property having schema false is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 204 - dependencies.json: "dependencies with boolean subschemas" - "object with both properties is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "subschema is false", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/bar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 205 - dependencies.json: "dependencies with boolean subschemas" - "empty object is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 206 - dependencies.json: "dependencies with escaped characters" - "valid object 1" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 207 - dependencies.json: "dependencies with escaped characters" - "valid object 2" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 208 - dependencies.json: "dependencies with escaped characters" - "valid object 3" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 209 - dependencies.json: "dependencies with escaped characters" - "invalid object 1" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo\rbar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo\nbar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo\rbar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo\nbar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 210 - dependencies.json: "dependencies with escaped characters" - "invalid object 2" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object has fewer than 4 properties", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo\tbar/minProperties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object has fewer than 4 properties", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo\tbar/minProperties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 211 - dependencies.json: "dependencies with escaped characters" - "invalid object 3" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo\"bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo'bar/required" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo\"bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo'bar/required" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 212 - dependencies.json: "dependencies with escaped characters" - "invalid object 4" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo'bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo\"bar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: foo'bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo\"bar" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 213 - dependencies.json: "dependent subschema incompatible with root" - "matches root" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "additional property not permitted", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/dependencies/foo/additionalProperties" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo/additionalProperties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "additional property not permitted", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/dependencies/foo/additionalProperties" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo/additionalProperties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 214 - dependencies.json: "dependent subschema incompatible with root" - "matches dependency" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 215 - dependencies.json: "dependent subschema incompatible with root" - "matches both" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "additional property not permitted", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/dependencies/foo/additionalProperties" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo/additionalProperties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "additional property not permitted", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/dependencies/foo/additionalProperties" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies/foo/additionalProperties" 852s # }, 852s # { 852s # "error": "not all dependencies are satisfied", 852s # "instanceLocation": "", 852s # "keywordLocation": "/dependencies" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 216 - dependencies.json: "dependent subschema incompatible with root" - "no dependency" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 217 - enum.json: "simple enum validation" - "one of the enum is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 218 - enum.json: "simple enum validation" - "something else is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 219 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 220 - enum.json: "heterogeneous enum validation" - "something else is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 221 - enum.json: "heterogeneous enum validation" - "objects are deep compared" { 852s # result: { 852s # "errors": [ 852s # { 852s # "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\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "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\")", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 222 - enum.json: "heterogeneous enum validation" - "valid object matches" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 223 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 224 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 225 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 226 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 227 - enum.json: "enums in properties" - "both properties are valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 228 - enum.json: "enums in properties" - "wrong foo value" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/properties/foo/enum" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/properties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/properties/foo/enum" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/properties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 229 - enum.json: "enums in properties" - "wrong bar value" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/properties/bar/enum" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/properties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "/bar", 852s # "keywordLocation": "/properties/bar/enum" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/properties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 230 - enum.json: "enums in properties" - "missing optional property is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 231 - enum.json: "enums in properties" - "missing required property is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/required" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/required" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 232 - enum.json: "enums in properties" - "missing all properties is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/required" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object is missing property: bar", 852s # "instanceLocation": "", 852s # "keywordLocation": "/required" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 233 - enum.json: "enum with escaped characters" - "member 1 is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 234 - enum.json: "enum with escaped characters" - "member 2 is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 235 - enum.json: "enum with escaped characters" - "another string is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 236 - enum.json: "enum with false does not match 0" - "false is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 237 - enum.json: "enum with false does not match 0" - "integer zero is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 238 - enum.json: "enum with false does not match 0" - "float zero is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 239 - enum.json: "enum with true does not match 1" - "true is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 240 - enum.json: "enum with true does not match 1" - "integer one is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 241 - enum.json: "enum with true does not match 1" - "float one is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 242 - enum.json: "enum with 0 does not match false" - "false is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 243 - enum.json: "enum with 0 does not match false" - "integer zero is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 244 - enum.json: "enum with 0 does not match false" - "float zero is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 245 - enum.json: "enum with 1 does not match true" - "true is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 246 - enum.json: "enum with 1 does not match true" - "integer one is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 247 - enum.json: "enum with 1 does not match true" - "float one is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 248 - enum.json: "nul characters in strings" - "match string with nul" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 249 - enum.json: "nul characters in strings" - "do not match string lacking nul" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/enum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 250 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 251 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is equal to or larger than 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/exclusiveMaximum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is equal to or larger than 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/exclusiveMaximum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 252 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is equal to or larger than 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/exclusiveMaximum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is equal to or larger than 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/exclusiveMaximum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 253 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 254 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 255 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is equal to or smaller than 1.1", 852s # "instanceLocation": "", 852s # "keywordLocation": "/exclusiveMinimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is equal to or smaller than 1.1", 852s # "instanceLocation": "", 852s # "keywordLocation": "/exclusiveMinimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 256 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is equal to or smaller than 1.1", 852s # "instanceLocation": "", 852s # "keywordLocation": "/exclusiveMinimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is equal to or smaller than 1.1", 852s # "instanceLocation": "", 852s # "keywordLocation": "/exclusiveMinimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 257 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 258 - format.json: "email format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 259 - format.json: "email format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 260 - format.json: "email format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 261 - format.json: "email format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 262 - format.json: "email format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 263 - format.json: "email format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 264 - format.json: "idn-email format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 265 - format.json: "idn-email format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 266 - format.json: "idn-email format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 267 - format.json: "idn-email format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 268 - format.json: "idn-email format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 269 - format.json: "idn-email format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 270 - format.json: "regex format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 271 - format.json: "regex format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 272 - format.json: "regex format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 273 - format.json: "regex format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 274 - format.json: "regex format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 275 - format.json: "regex format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 276 - format.json: "ipv4 format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 277 - format.json: "ipv4 format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 278 - format.json: "ipv4 format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 279 - format.json: "ipv4 format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 280 - format.json: "ipv4 format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 281 - format.json: "ipv4 format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 282 - format.json: "ipv6 format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 283 - format.json: "ipv6 format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 284 - format.json: "ipv6 format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 285 - format.json: "ipv6 format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 286 - format.json: "ipv6 format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 287 - format.json: "ipv6 format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 288 - format.json: "idn-hostname format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 289 - format.json: "idn-hostname format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 290 - format.json: "idn-hostname format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 291 - format.json: "idn-hostname format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 292 - format.json: "idn-hostname format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 293 - format.json: "idn-hostname format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 294 - format.json: "hostname format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 295 - format.json: "hostname format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 296 - format.json: "hostname format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 297 - format.json: "hostname format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 298 - format.json: "hostname format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 299 - format.json: "hostname format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 300 - format.json: "date format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 301 - format.json: "date format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 302 - format.json: "date format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 303 - format.json: "date format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 304 - format.json: "date format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 305 - format.json: "date format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 306 - format.json: "date-time format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 307 - format.json: "date-time format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 308 - format.json: "date-time format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 309 - format.json: "date-time format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 310 - format.json: "date-time format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 311 - format.json: "date-time format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 312 - format.json: "time format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 313 - format.json: "time format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 314 - format.json: "time format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 315 - format.json: "time format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 316 - format.json: "time format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 317 - format.json: "time format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 318 - format.json: "json-pointer format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 319 - format.json: "json-pointer format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 320 - format.json: "json-pointer format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 321 - format.json: "json-pointer format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 322 - format.json: "json-pointer format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 323 - format.json: "json-pointer format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 324 - format.json: "relative-json-pointer format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 325 - format.json: "relative-json-pointer format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 326 - format.json: "relative-json-pointer format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 327 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 328 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 329 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 330 - format.json: "iri format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 331 - format.json: "iri format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 332 - format.json: "iri format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 333 - format.json: "iri format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 334 - format.json: "iri format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 335 - format.json: "iri format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 336 - format.json: "iri-reference format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 337 - format.json: "iri-reference format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 338 - format.json: "iri-reference format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 339 - format.json: "iri-reference format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 340 - format.json: "iri-reference format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 341 - format.json: "iri-reference format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 342 - format.json: "uri format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 343 - format.json: "uri format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 344 - format.json: "uri format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 345 - format.json: "uri format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 346 - format.json: "uri format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 347 - format.json: "uri format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 348 - format.json: "uri-reference format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 349 - format.json: "uri-reference format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 350 - format.json: "uri-reference format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 351 - format.json: "uri-reference format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 352 - format.json: "uri-reference format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 353 - format.json: "uri-reference format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 354 - format.json: "uri-template format" - "all string formats ignore integers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 355 - format.json: "uri-template format" - "all string formats ignore floats" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 356 - format.json: "uri-template format" - "all string formats ignore objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 357 - format.json: "uri-template format" - "all string formats ignore arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 358 - format.json: "uri-template format" - "all string formats ignore booleans" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 359 - format.json: "uri-template format" - "all string formats ignore nulls" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 360 - id.json: "id inside an enum is not a real identifier" - "exact match to enum, and type matches" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 361 - id.json: "id inside an enum is not a real identifier" - "match $ref to id" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 362 - id.json: "id inside an enum is not a real identifier" - "no match on enum or $ref to id" { 852s # result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/id_in_enum/enum", 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/$ref/enum" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "https://localhost:1234/id/my_identifier.json#/type", 852s # "error": "got integer, not string", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1/$ref/type" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/id_in_enum/enum", 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/0/$ref/enum" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "https://localhost:1234/id/my_identifier.json#/type", 852s # "error": "got integer, not string", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf/1/$ref/type" 852s # }, 852s # { 852s # "error": "no subschemas are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/anyOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 363 - id.json: "non-schema object containing a plain-name $id property" - "skip traversing definition for a valid result" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 364 - id.json: "non-schema object containing a plain-name $id property" - "const at const_not_anchor does not match" { 852s # result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/$ref/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/$ref/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 365 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 366 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 852s # result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/$ref/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/$ref/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 367 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 368 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 369 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 370 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 371 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 372 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 373 - if-then-else.json: "if and then without else" - "valid through then" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 374 - if-then-else.json: "if and then without else" - "invalid through then" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than -10", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then/minimum" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than -10", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then/minimum" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 375 - if-then-else.json: "if and then without else" - "valid when if test fails" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 376 - if-then-else.json: "if and else without then" - "valid when if test passes" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 377 - if-then-else.json: "if and else without then" - "valid through else" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 378 - if-then-else.json: "if and else without then" - "invalid through else" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 379 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 380 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than -10", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then/minimum" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than -10", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then/minimum" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 381 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 382 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/multipleOf" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 383 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 384 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 385 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 386 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 387 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 388 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 389 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 390 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 391 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/then" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 392 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value does not match", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else/const" 852s # }, 852s # { 852s # "error": "subschema is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/else" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s 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" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s 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" { 852s # result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/int/type", 852s # "error": "got string, not integer", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/properties" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "#/definitions/int/type", 852s # "error": "got string, not integer", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/allOf/1/additionalProperties/$ref/type" 852s # }, 852s # { 852s # "error": "not all additional properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/1/additionalProperties" 852s # }, 852s # { 852s # "error": "subschemas 0, 1 are not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/int/type", 852s # "error": "got string, not integer", 852s # "instanceLocation": "/foo", 852s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 852s # }, 852s # { 852s # "error": "not all properties are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf/0/properties" 852s # }, 852s # { 852s # "error": "subschema 0 is not valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/allOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 395 - items.json: "a schema given for items" - "valid items" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 396 - items.json: "a schema given for items" - "wrong type of items" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 397 - items.json: "a schema given for items" - "ignores non-arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 398 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 399 - items.json: "an array of schemas for items" - "correct types" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 400 - items.json: "an array of schemas for items" - "wrong types" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/0/type" 852s # }, 852s # { 852s # "error": "got integer, not string", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/1/type" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not integer", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/0/type" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 401 - items.json: "an array of schemas for items" - "incomplete array of items" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 402 - items.json: "an array of schemas for items" - "array with additional items" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 403 - items.json: "an array of schemas for items" - "empty array" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 404 - items.json: "an array of schemas for items" - "JavaScript pseudo-array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 405 - items.json: "items with boolean schema (true)" - "any array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 406 - items.json: "items with boolean schema (true)" - "empty array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 407 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "item not permitted", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items" 852s # }, 852s # { 852s # "error": "item not permitted", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items" 852s # }, 852s # { 852s # "error": "item not permitted", 852s # "instanceLocation": "/2", 852s # "keywordLocation": "/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "item not permitted", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 408 - items.json: "items with boolean schema (false)" - "empty array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 409 - items.json: "items with boolean schemas" - "array with one item is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 410 - items.json: "items with boolean schemas" - "array with two items is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "item not permitted", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/1" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "item not permitted", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/1" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 411 - items.json: "items with boolean schemas" - "empty array is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 412 - items.json: "items and subitems" - "valid items" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 413 - items.json: "items and subitems" - "too many items" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "additional item not permitted", 852s # "instanceLocation": "/3", 852s # "keywordLocation": "/additionalItems" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "additional item not permitted", 852s # "instanceLocation": "/3", 852s # "keywordLocation": "/additionalItems" 852s # }, 852s # { 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/additionalItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 414 - items.json: "items and subitems" - "too many sub-items" { 852s # result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/item/additionalItems", 852s # "error": "additional item not permitted", 852s # "instanceLocation": "/0/2", 852s # "keywordLocation": "/items/0/$ref/additionalItems" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "#/definitions/item/additionalItems", 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/0/$ref/additionalItems" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/item/additionalItems", 852s # "error": "additional item not permitted", 852s # "instanceLocation": "/0/2", 852s # "keywordLocation": "/items/0/$ref/additionalItems" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "#/definitions/item/additionalItems", 852s # "error": "subschema is not valid against all additional items", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/0/$ref/additionalItems" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 415 - items.json: "items and subitems" - "wrong item" { 852s # result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/item/type", 852s # "error": "got object, not array", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/0/$ref/type" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/item/type", 852s # "error": "got object, not array", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/0/$ref/type" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 416 - items.json: "items and subitems" - "wrong sub-item" { 852s # result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/sub-item/required", 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "/0/0", 852s # "keywordLocation": "/items/0/$ref/items/0/$ref/required" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "#/definitions/item/items", 852s # "error": "not all items are valid", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/0/$ref/items" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "absoluteKeywordLocation": "#/definitions/sub-item/required", 852s # "error": "object is missing property: foo", 852s # "instanceLocation": "/0/0", 852s # "keywordLocation": "/items/0/$ref/items/0/$ref/required" 852s # }, 852s # { 852s # "absoluteKeywordLocation": "#/definitions/item/items", 852s # "error": "not all items are valid", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/0/$ref/items" 852s # }, 852s # { 852s # "error": "not all items are valid", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 417 - items.json: "items and subitems" - "fewer items is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 418 - items.json: "nested items" - "valid nested array" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 419 - items.json: "nested items" - "nested array with invalid type" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not number", 852s # "instanceLocation": "/0/0/0/0", 852s # "keywordLocation": "/items/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0/0/0", 852s # "keywordLocation": "/items/items/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0/0", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got string, not number", 852s # "instanceLocation": "/0/0/0/0", 852s # "keywordLocation": "/items/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0/0/0", 852s # "keywordLocation": "/items/items/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0/0", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 420 - items.json: "nested items" - "not deep enough" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not array", 852s # "instanceLocation": "/0/0/0", 852s # "keywordLocation": "/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0/0", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "got integer, not array", 852s # "instanceLocation": "/0/1/0", 852s # "keywordLocation": "/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0/1", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "got integer, not array", 852s # "instanceLocation": "/0/2/0", 852s # "keywordLocation": "/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0/2", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/items" 852s # }, 852s # { 852s # "error": "got integer, not array", 852s # "instanceLocation": "/1/0/0", 852s # "keywordLocation": "/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/1/0", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "got integer, not array", 852s # "instanceLocation": "/1/1/0", 852s # "keywordLocation": "/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/1/1", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "got integer, not array", 852s # "instanceLocation": "/1/2/0", 852s # "keywordLocation": "/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/1/2", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/1", 852s # "keywordLocation": "/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "got integer, not array", 852s # "instanceLocation": "/0/0/0", 852s # "keywordLocation": "/items/items/items/type" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0/0", 852s # "keywordLocation": "/items/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "/0", 852s # "keywordLocation": "/items/items" 852s # }, 852s # { 852s # "error": "subschema is not valid against all items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/items" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 421 - items.json: "single-form items with null instance elements" - "allows null elements" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 422 - items.json: "array-form items with null instance elements" - "allows null elements" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 423 - maxItems.json: "maxItems validation" - "shorter is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 424 - maxItems.json: "maxItems validation" - "exact length is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 425 - maxItems.json: "maxItems validation" - "too long is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "array has more than 2 items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "array has more than 2 items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 426 - maxItems.json: "maxItems validation" - "ignores non-arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 427 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 428 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "array has more than 2 items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "array has more than 2 items", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 429 - maxLength.json: "maxLength validation" - "shorter is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 430 - maxLength.json: "maxLength validation" - "exact length is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 431 - maxLength.json: "maxLength validation" - "too long is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "length is greater than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "length is greater than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 432 - maxLength.json: "maxLength validation" - "ignores non-strings" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 433 - maxLength.json: "maxLength validation" - "two supplementary Unicode code points is long enough" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 434 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 435 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "length is greater than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "length is greater than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 436 - maxProperties.json: "maxProperties validation" - "shorter is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 437 - maxProperties.json: "maxProperties validation" - "exact length is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 438 - maxProperties.json: "maxProperties validation" - "too long is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object has more than 2 properties", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object has more than 2 properties", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 439 - maxProperties.json: "maxProperties validation" - "ignores arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 440 - maxProperties.json: "maxProperties validation" - "ignores strings" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 441 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 442 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 443 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object has more than 2 properties", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object has more than 2 properties", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 444 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 445 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object has more than 0 property", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object has more than 0 property", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maxProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 446 - maximum.json: "maximum validation" - "below the maximum is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 447 - maximum.json: "maximum validation" - "boundary point is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 448 - maximum.json: "maximum validation" - "above the maximum is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is larger than 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maximum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is larger than 3", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maximum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 449 - maximum.json: "maximum validation" - "ignores non-numbers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 450 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 451 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 452 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 453 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is larger than 300", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maximum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is larger than 300", 852s # "instanceLocation": "", 852s # "keywordLocation": "/maximum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 454 - minItems.json: "minItems validation" - "longer is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 455 - minItems.json: "minItems validation" - "exact length is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 456 - minItems.json: "minItems validation" - "too short is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "array has fewer than 1 item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "array has fewer than 1 item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 457 - minItems.json: "minItems validation" - "ignores non-arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 458 - minItems.json: "minItems validation with a decimal" - "longer is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 459 - minItems.json: "minItems validation with a decimal" - "too short is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "array has fewer than 1 item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "array has fewer than 1 item", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minItems" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 460 - minLength.json: "minLength validation" - "longer is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 461 - minLength.json: "minLength validation" - "exact length is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 462 - minLength.json: "minLength validation" - "too short is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "length is less than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "length is less than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 463 - minLength.json: "minLength validation" - "ignores non-strings" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 464 - minLength.json: "minLength validation" - "one supplementary Unicode code point is not long enough" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "length is less than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "length is less than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 465 - minLength.json: "minLength validation with a decimal" - "longer is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 466 - minLength.json: "minLength validation with a decimal" - "too short is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "length is less than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "length is less than 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minLength" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 467 - minProperties.json: "minProperties validation" - "longer is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 468 - minProperties.json: "minProperties validation" - "exact length is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 469 - minProperties.json: "minProperties validation" - "too short is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object has fewer than 1 property", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object has fewer than 1 property", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 470 - minProperties.json: "minProperties validation" - "ignores arrays" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 471 - minProperties.json: "minProperties validation" - "ignores strings" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 472 - minProperties.json: "minProperties validation" - "ignores other non-objects" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 473 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 474 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "object has fewer than 1 property", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "object has fewer than 1 property", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minProperties" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s # 852s ok 475 - minimum.json: "minimum validation" - "above the minimum is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 476 - minimum.json: "minimum validation" - "boundary point is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 477 - minimum.json: "minimum validation" - "below the minimum is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than 1.1", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than 1.1", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 478 - minimum.json: "minimum validation" - "ignores non-numbers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 479 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 480 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 481 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 482 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 483 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than -2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than -2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 484 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than -2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is smaller than -2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/minimum" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 485 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s # 852s ok 486 - multipleOf.json: "by int" - "int by int" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 487 - multipleOf.json: "by int" - "int by int fail" { 852s # result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/multipleOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s # short-circuited result: { 852s # "errors": [ 852s # { 852s # "error": "value is not a multiple of 2", 852s # "instanceLocation": "", 852s # "keywordLocation": "/multipleOf" 852s # } 852s # ], 852s # "valid": false 852s # } 852s ok 1 - test passes: data is valid: false 852s 1..1 852s } 852s ok 488 - multipleOf.json: "by int" - "ignores non-numbers" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 489 - multipleOf.json: "by number" - "zero is multiple of anything" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 852s # "valid": true 852s # } 852s ok 1 - test passes: data is valid: true 852s 1..1 852s } 852s ok 490 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" { 852s # result: { 852s # "valid": true 852s # } 852s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 491 - multipleOf.json: "by number" - "35 is not multiple of 1.5" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "value is not a multiple of 1.5", 853s # "instanceLocation": "", 853s # "keywordLocation": "/multipleOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "value is not a multiple of 1.5", 853s # "instanceLocation": "", 853s # "keywordLocation": "/multipleOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 492 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 493 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "value is not a multiple of 0.0001", 853s # "instanceLocation": "", 853s # "keywordLocation": "/multipleOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "value is not a multiple of 0.0001", 853s # "instanceLocation": "", 853s # "keywordLocation": "/multipleOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 494 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "value is not a multiple of 0.123456789", 853s # "instanceLocation": "", 853s # "keywordLocation": "/multipleOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "value is not a multiple of 0.123456789", 853s # "instanceLocation": "", 853s # "keywordLocation": "/multipleOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 495 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 496 - not.json: "not" - "allowed" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 497 - not.json: "not" - "disallowed" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 498 - not.json: "not multiple types" - "valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 499 - not.json: "not multiple types" - "mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 500 - not.json: "not multiple types" - "other mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 501 - not.json: "not more complex schema" - "match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 502 - not.json: "not more complex schema" - "other match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 503 - not.json: "not more complex schema" - "mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 504 - not.json: "forbidden property" - "property present" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/not" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/not" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 505 - not.json: "forbidden property" - "property absent" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 506 - not.json: "not with boolean schema true" - "any value is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/not" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 507 - not.json: "not with boolean schema false" - "any value is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 508 - oneOf.json: "oneOf" - "first oneOf valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 509 - oneOf.json: "oneOf" - "second oneOf valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 510 - oneOf.json: "oneOf" - "both oneOf valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 511 - oneOf.json: "oneOf" - "neither oneOf valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/type" 853s # }, 853s # { 853s # "error": "value is smaller than 2", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1/minimum" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/type" 853s # }, 853s # { 853s # "error": "value is smaller than 2", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1/minimum" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 512 - oneOf.json: "oneOf with base schema" - "mismatch base schema" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # }, 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 513 - oneOf.json: "oneOf with base schema" - "one oneOf valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 514 - oneOf.json: "oneOf with base schema" - "both oneOf valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 515 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1, 2", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 516 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 517 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 518 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is false", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0" 853s # }, 853s # { 853s # "error": "subschema is false", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1" 853s # }, 853s # { 853s # "error": "subschema is false", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/2" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is false", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0" 853s # }, 853s # { 853s # "error": "subschema is false", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1" 853s # }, 853s # { 853s # "error": "subschema is false", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/2" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 519 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 520 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 521 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 522 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/oneOf/0/properties/bar/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/properties" 853s # }, 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/oneOf/1/properties/foo/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1/properties" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/oneOf/0/properties/bar/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/properties" 853s # }, 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/oneOf/1/properties/foo/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1/properties" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 523 - oneOf.json: "oneOf with empty schema" - "one valid - valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 524 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 525 - oneOf.json: "oneOf with required" - "both invalid - invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing property: foo", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/required" 853s # }, 853s # { 853s # "error": "object is missing properties: foo, baz", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1/required" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing property: foo", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/required" 853s # }, 853s # { 853s # "error": "object is missing properties: foo, baz", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1/required" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 526 - oneOf.json: "oneOf with required" - "first valid - valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 527 - oneOf.json: "oneOf with required" - "second valid - valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 528 - oneOf.json: "oneOf with required" - "both valid - invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 529 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 530 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 531 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "multiple subschemas are valid: 0, 1", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 532 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing property: bar", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/required" 853s # }, 853s # { 853s # "error": "object is missing property: foo", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1/required" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing property: bar", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/required" 853s # }, 853s # { 853s # "error": "object is missing property: foo", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/1/required" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 533 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 534 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/oneOf/0/type" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/oneOf" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/oneOf/0/type" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf/0/oneOf" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/oneOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s # 853s ok 535 - pattern.json: "pattern validation" - "a matching pattern is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 536 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 537 - pattern.json: "pattern validation" - "ignores booleans" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 538 - pattern.json: "pattern validation" - "ignores integers" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 539 - pattern.json: "pattern validation" - "ignores floats" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 540 - pattern.json: "pattern validation" - "ignores objects" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 541 - pattern.json: "pattern validation" - "ignores arrays" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 542 - pattern.json: "pattern validation" - "ignores null" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 543 - pattern.json: "pattern is not anchored" - "matches a substring" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 544 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 545 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 546 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/patternProperties/f.*o/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/patternProperties/f.*o/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 547 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/patternProperties/f.*o/type" 853s # }, 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/foooooo", 853s # "keywordLocation": "/patternProperties/f.*o/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/patternProperties/f.*o/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 548 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 549 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 550 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 551 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 552 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 553 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 554 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/a", 853s # "keywordLocation": "/patternProperties/a*/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/a", 853s # "keywordLocation": "/patternProperties/a*/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 555 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "value is larger than 20", 853s # "instanceLocation": "/aaaa", 853s # "keywordLocation": "/patternProperties/aaa*/maximum" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "value is larger than 20", 853s # "instanceLocation": "/aaaa", 853s # "keywordLocation": "/patternProperties/aaa*/maximum" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 556 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/aaa", 853s # "keywordLocation": "/patternProperties/a*/type" 853s # }, 853s # { 853s # "error": "value is larger than 20", 853s # "instanceLocation": "/aaaa", 853s # "keywordLocation": "/patternProperties/aaa*/maximum" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/aaa", 853s # "keywordLocation": "/patternProperties/a*/type" 853s # }, 853s # { 853s # "error": "value is larger than 20", 853s # "instanceLocation": "/aaaa", 853s # "keywordLocation": "/patternProperties/aaa*/maximum" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 557 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 558 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not boolean", 853s # "instanceLocation": "/a31b", 853s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not boolean", 853s # "instanceLocation": "/a31b", 853s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 559 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 560 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "/a_X_3", 853s # "keywordLocation": "/patternProperties/X_/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "/a_X_3", 853s # "keywordLocation": "/patternProperties/X_/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 561 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 562 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/patternProperties/b.*" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/patternProperties/b.*" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 563 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/patternProperties/b.*" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/patternProperties/b.*" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 564 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/foobar", 853s # "keywordLocation": "/patternProperties/b.*" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/foobar", 853s # "keywordLocation": "/patternProperties/b.*" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 565 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 566 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 567 - properties.json: "object properties validation" - "both properties present and valid is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 568 - properties.json: "object properties validation" - "one property invalid is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 569 - properties.json: "object properties validation" - "both properties invalid is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar/type" 853s # }, 853s # { 853s # "error": "got array, not integer", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 570 - properties.json: "object properties validation" - "doesn't invalidate other properties" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 571 - properties.json: "object properties validation" - "ignores arrays" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 572 - properties.json: "object properties validation" - "ignores other non-objects" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 573 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 574 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "array has more than 3 items", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/maxItems" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "array has more than 3 items", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/maxItems" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 575 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "array has fewer than 2 items", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/patternProperties/f.o/minItems" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "array has fewer than 2 items", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/patternProperties/f.o/minItems" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 576 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 577 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "array has fewer than 2 items", 853s # "instanceLocation": "/fxo", 853s # "keywordLocation": "/patternProperties/f.o/minItems" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "array has fewer than 2 items", 853s # "instanceLocation": "/fxo", 853s # "keywordLocation": "/patternProperties/f.o/minItems" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 578 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 579 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 580 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/quux", 853s # "keywordLocation": "/additionalProperties/type" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/quux", 853s # "keywordLocation": "/additionalProperties/type" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 581 - properties.json: "properties with boolean schema" - "no property present is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 582 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 583 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 584 - properties.json: "properties with boolean schema" - "both properties present is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 585 - properties.json: "properties with escaped characters" - "object with all numbers is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 586 - properties.json: "properties with escaped characters" - "object with strings is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\tbar", 853s # "keywordLocation": "/properties/foo\tbar/type" 853s # }, 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\nbar", 853s # "keywordLocation": "/properties/foo\nbar/type" 853s # }, 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\fbar", 853s # "keywordLocation": "/properties/foo\fbar/type" 853s # }, 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\rbar", 853s # "keywordLocation": "/properties/foo\rbar/type" 853s # }, 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\"bar", 853s # "keywordLocation": "/properties/foo\"bar/type" 853s # }, 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\\bar", 853s # "keywordLocation": "/properties/foo\\bar/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\tbar", 853s # "keywordLocation": "/properties/foo\tbar/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 587 - properties.json: "properties with null valued instance properties" - "allows null values" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 588 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 589 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 590 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 591 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/__proto__", 853s # "keywordLocation": "/properties/__proto__/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "/__proto__", 853s # "keywordLocation": "/properties/__proto__/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 592 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "/toString/length", 853s # "keywordLocation": "/properties/toString/properties/length/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/toString", 853s # "keywordLocation": "/properties/toString/properties" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "/toString/length", 853s # "keywordLocation": "/properties/toString/properties/length/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/toString", 853s # "keywordLocation": "/properties/toString/properties" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 593 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not number", 853s # "instanceLocation": "/constructor", 853s # "keywordLocation": "/properties/constructor/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not number", 853s # "instanceLocation": "/constructor", 853s # "keywordLocation": "/properties/constructor/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 594 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 595 - propertyNames.json: "propertyNames validation" - "all property names valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 596 - propertyNames.json: "propertyNames validation" - "some property names invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "length is greater than 3", 853s # "instanceLocation": "/foobar", 853s # "keywordLocation": "/propertyNames/maxLength" 853s # }, 853s # { 853s # "error": "not all property names are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/propertyNames" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "length is greater than 3", 853s # "instanceLocation": "/foobar", 853s # "keywordLocation": "/propertyNames/maxLength" 853s # }, 853s # { 853s # "error": "not all property names are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/propertyNames" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 597 - propertyNames.json: "propertyNames validation" - "object without properties is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 598 - propertyNames.json: "propertyNames validation" - "ignores arrays" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 599 - propertyNames.json: "propertyNames validation" - "ignores strings" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 600 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 601 - propertyNames.json: "propertyNames validation with pattern" - "matching property names valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 602 - propertyNames.json: "propertyNames validation with pattern" - "non-matching property name is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "/aaA", 853s # "keywordLocation": "/propertyNames/pattern" 853s # }, 853s # { 853s # "error": "not all property names are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/propertyNames" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "/aaA", 853s # "keywordLocation": "/propertyNames/pattern" 853s # }, 853s # { 853s # "error": "not all property names are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/propertyNames" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 603 - propertyNames.json: "propertyNames validation with pattern" - "object without properties is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 604 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 605 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 606 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is false", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/propertyNames" 853s # }, 853s # { 853s # "error": "not all property names are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/propertyNames" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "subschema is false", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/propertyNames" 853s # }, 853s # { 853s # "error": "not all property names are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/propertyNames" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 607 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 608 - ref.json: "root pointer ref" - "match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 609 - ref.json: "root pointer ref" - "recursive match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 610 - ref.json: "root pointer ref" - "mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 611 - ref.json: "root pointer ref" - "recursive mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/additionalProperties", 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/foo/bar", 853s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "#/additionalProperties", 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/additionalProperties", 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/foo/bar", 853s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "#/additionalProperties", 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 612 - ref.json: "relative pointer ref to object" - "match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 613 - ref.json: "relative pointer ref to object" - "mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/properties/foo/type", 853s # "error": "got boolean, not integer", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/properties/foo/type", 853s # "error": "got boolean, not integer", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/properties/bar/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 614 - ref.json: "relative pointer ref to array" - "match array" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 615 - ref.json: "relative pointer ref to array" - "mismatch array" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/items/0/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/1", 853s # "keywordLocation": "/items/1/$ref/type" 853s # }, 853s # { 853s # "error": "not all items are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/items" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/items/0/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/1", 853s # "keywordLocation": "/items/1/$ref/type" 853s # }, 853s # { 853s # "error": "not all items are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/items" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 616 - ref.json: "escaped pointer ref" - "slash invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/slash~1field/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/slash", 853s # "keywordLocation": "/properties/slash/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/slash~1field/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/slash", 853s # "keywordLocation": "/properties/slash/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 617 - ref.json: "escaped pointer ref" - "tilde invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/tilde~0field/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/tilde", 853s # "keywordLocation": "/properties/tilde/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/tilde~0field/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/tilde", 853s # "keywordLocation": "/properties/tilde/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 618 - ref.json: "escaped pointer ref" - "percent invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/percent%25field/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/percent", 853s # "keywordLocation": "/properties/percent/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/percent%25field/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/percent", 853s # "keywordLocation": "/properties/percent/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 619 - ref.json: "escaped pointer ref" - "slash valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 620 - ref.json: "escaped pointer ref" - "tilde valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 621 - ref.json: "escaped pointer ref" - "percent valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 622 - ref.json: "nested refs" - "nested ref valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 623 - ref.json: "nested refs" - "nested ref invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/a/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/$ref/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/a/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/$ref/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 624 - ref.json: "ref overrides any sibling keywords" - "ref valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 625 - ref.json: "ref overrides any sibling keywords" - "ref valid, maxItems ignored" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 626 - ref.json: "ref overrides any sibling keywords" - "ref invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/reffed/type", 853s # "error": "got string, not array", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/reffed/type", 853s # "error": "got string, not array", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 627 - ref.json: "$ref prevents a sibling $id from changing the base uri" - "$ref resolves to /definitions/base_foo, data does not validate" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 628 - ref.json: "$ref prevents a sibling $id from changing the base uri" - "$ref resolves to /definitions/base_foo, data validates" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 629 - ref.json: "remote ref, containing refs itself" - "remote ref valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 630 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeInteger/minimum", 853s # "error": "value is smaller than 0", 853s # "instanceLocation": "/minLength", 853s # "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeIntegerDefault0/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "/minLength", 853s # "keywordLocation": "/$ref/properties/minLength/$ref/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeInteger/minimum", 853s # "error": "value is smaller than 0", 853s # "instanceLocation": "/minLength", 853s # "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeIntegerDefault0/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "/minLength", 853s # "keywordLocation": "/$ref/properties/minLength/$ref/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 631 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 632 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "/$ref", 853s # "keywordLocation": "/properties/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not string", 853s # "instanceLocation": "/$ref", 853s # "keywordLocation": "/properties/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 633 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 634 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/is-string/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/$ref", 853s # "keywordLocation": "/properties/$ref/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/is-string/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/$ref", 853s # "keywordLocation": "/properties/$ref/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 635 - ref.json: "$ref to boolean schema true" - "any value is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 636 - ref.json: "$ref to boolean schema false" - "any value is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/bool", 853s # "error": "subschema is false", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/bool", 853s # "error": "subschema is false", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 637 - ref.json: "Recursive references between schemas" - "valid tree" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 638 - ref.json: "Recursive references between schemas" - "invalid tree" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/nodes/0/subtree/nodes/0", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/nodes/0/subtree/nodes", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/nodes/0/subtree", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/nodes/0", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/nodes", 853s # "keywordLocation": "/properties/nodes/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/nodes/0/subtree/nodes/0", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/nodes/0/subtree/nodes", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/nodes/0/subtree", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/nodes/0", 853s # "keywordLocation": "/properties/nodes/items/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/nodes", 853s # "keywordLocation": "/properties/nodes/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 639 - ref.json: "refs with quote" - "object with numbers is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 640 - ref.json: "refs with quote" - "object with strings is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/foo%22bar/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\"bar", 853s # "keywordLocation": "/properties/foo\"bar/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/foo%22bar/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "/foo\"bar", 853s # "keywordLocation": "/properties/foo\"bar/$ref/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 641 - ref.json: "Location-independent identifier" - "match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 642 - ref.json: "Location-independent identifier" - "mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/A/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/A/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 643 - ref.json: "Reference an anchor with a non-relative URI" - "match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 644 - ref.json: "Reference an anchor with a non-relative URI" - "mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/definitions/A/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/definitions/A/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 645 - ref.json: "Location-independent identifier with base URI change in subschema" - "match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 646 - ref.json: "Location-independent identifier with base URI change in subschema" - "mismatch" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/root#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/root#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s 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" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "value does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/enum" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "value does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/enum" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s 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" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "value does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/enum" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "value does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/enum" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 649 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 650 - ref.json: "refs with relative uris and defs" - "invalid on inner field" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo/bar", 853s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo/bar", 853s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 651 - ref.json: "refs with relative uris and defs" - "invalid on outer field" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 652 - ref.json: "refs with relative uris and defs" - "valid on both fields" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 653 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo/bar", 853s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo/bar", 853s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 654 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 655 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 656 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 657 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 658 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 659 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 853s # "error": "value is smaller than 30", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/minimum" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 853s # "error": "value is smaller than 30", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/minimum" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 660 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 661 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 662 - ref.json: "URN base URI with NSS" - "a string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 663 - ref.json: "URN base URI with NSS" - "a non-string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 664 - ref.json: "URN base URI with r-component" - "a string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 665 - ref.json: "URN base URI with r-component" - "a non-string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 666 - ref.json: "URN base URI with q-component" - "a string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 667 - ref.json: "URN base URI with q-component" - "a non-string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 668 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 669 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 670 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 671 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/definitions/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/foo", 853s # "keywordLocation": "/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 672 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 673 - ref.json: "ref to if" - "an integer is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 674 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 675 - ref.json: "ref to then" - "an integer is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 676 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 677 - ref.json: "ref to else" - "an integer is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 678 - ref.json: "ref with absolute-path-reference" - "a string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 679 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/ref/absref.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://example.com/ref/absref.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 680 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 681 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "file:///folder/file.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "file:///folder/file.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 682 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 683 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 684 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 685 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions//definitions//type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions//definitions//type", 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/type" 853s # }, 853s # { 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s # 853s ok 686 - refRemote.json: "remote ref" - "remote ref valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 687 - refRemote.json: "remote ref" - "remote ref invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 688 - refRemote.json: "fragment within remote ref" - "remote fragment valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 689 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/subSchemas.json#/definitions/integer/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/subSchemas.json#/definitions/integer/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 690 - refRemote.json: "ref within remote ref" - "ref within ref valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 691 - refRemote.json: "ref within remote ref" - "ref within ref invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/subSchemas.json#/definitions/integer/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/subSchemas.json#/definitions/integer/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 692 - refRemote.json: "base URI change" - "base URI change ref valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 693 - refRemote.json: "base URI change" - "base URI change ref invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/0/0", 853s # "keywordLocation": "/items/items/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/0", 853s # "keywordLocation": "/items/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/#/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "", 853s # "keywordLocation": "/items" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/0/0", 853s # "keywordLocation": "/items/items/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/0", 853s # "keywordLocation": "/items/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/#/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "", 853s # "keywordLocation": "/items" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 694 - refRemote.json: "base URI change - change folder" - "number is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 695 - refRemote.json: "base URI change - change folder" - "string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/list/0", 853s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/list", 853s # "keywordLocation": "/properties/list/$ref/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/list/0", 853s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/list", 853s # "keywordLocation": "/properties/list/$ref/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 696 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 697 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/list/0", 853s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/list", 853s # "keywordLocation": "/properties/list/$ref/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "/list/0", 853s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items", 853s # "error": "subschema is not valid against all items", 853s # "instanceLocation": "/list", 853s # "keywordLocation": "/properties/list/$ref/items" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 698 - refRemote.json: "root ref in remote ref" - "string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 699 - refRemote.json: "root ref in remote ref" - "null is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 700 - refRemote.json: "root ref in remote ref" - "object is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/definitions/orNull/anyOf/0/type", 853s # "error": "got object, not null", 853s # "instanceLocation": "/name", 853s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/type", 853s # "error": "got object, not string", 853s # "instanceLocation": "/name", 853s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/definitions/orNull/anyOf", 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "/name", 853s # "keywordLocation": "/properties/name/$ref/anyOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/object#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/definitions/orNull/anyOf/0/type", 853s # "error": "got object, not null", 853s # "instanceLocation": "/name", 853s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/type", 853s # "error": "got object, not string", 853s # "instanceLocation": "/name", 853s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/definitions/orNull/anyOf", 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "/name", 853s # "keywordLocation": "/properties/name/$ref/anyOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/object#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 701 - refRemote.json: "remote ref with ref to definitions" - "invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/schema-remote-ref-ref-defs1.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/definitions/inner/properties/bar/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/bar", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/definitions/inner/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/0/$ref/allOf" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/schema-remote-ref-ref-defs1.json#/allOf", 853s # "error": "subschema 0 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 702 - refRemote.json: "remote ref with ref to definitions" - "valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 703 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 704 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/locationIndependentIdentifierPre2019.json#/definitions/A/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/locationIndependentIdentifierPre2019.json#/definitions/A/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 705 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/name/foo", 853s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/foo-ref-string.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/name", 853s # "keywordLocation": "/properties/name/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/some-id#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "/name/foo", 853s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/foo-ref-string.json#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "/name", 853s # "keywordLocation": "/properties/name/$ref/properties" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/some-id#/properties", 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/properties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 706 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 707 - refRemote.json: "$ref to $ref finds location-independent $id" - "number is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 708 - refRemote.json: "$ref to $ref finds location-independent $id" - "non-number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/draft7/detached-ref.json#/definitions/detached/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/draft7/detached-ref.json#/definitions/detached/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/$ref/$ref/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s # 853s ok 709 - required.json: "required validation" - "present required property is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 710 - required.json: "required validation" - "non-present required property is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing property: foo", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing property: foo", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 711 - required.json: "required validation" - "ignores arrays" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 712 - required.json: "required validation" - "ignores strings" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 713 - required.json: "required validation" - "ignores other non-objects" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 714 - required.json: "required default validation" - "not required by default" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 715 - required.json: "required with empty array" - "property not required" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 716 - required.json: "required with escaped characters" - "object with all properties present is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 717 - required.json: "required with escaped characters" - "object with some properties missing is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 718 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 719 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 720 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: __proto__, toString, constructor", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: __proto__, toString, constructor", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 721 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: toString, constructor", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: toString, constructor", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 722 - required.json: "required properties whose names are Javascript object property names" - "toString present" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: __proto__, constructor", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: __proto__, constructor", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 723 - required.json: "required properties whose names are Javascript object property names" - "constructor present" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: __proto__, toString", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "object is missing properties: __proto__, toString", 853s # "instanceLocation": "", 853s # "keywordLocation": "/required" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 724 - required.json: "required properties whose names are Javascript object property names" - "all present" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 725 - type.json: "integer type matches integers" - "an integer is an integer" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 726 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 727 - type.json: "integer type matches integers" - "a float is not an integer" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got number, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got number, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 728 - type.json: "integer type matches integers" - "a string is not an integer" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 729 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got string, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 730 - type.json: "integer type matches integers" - "an object is not an integer" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got object, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got object, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 731 - type.json: "integer type matches integers" - "an array is not an integer" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got array, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got array, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 732 - type.json: "integer type matches integers" - "a boolean is not an integer" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got boolean, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got boolean, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 733 - type.json: "integer type matches integers" - "null is not an integer" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got null, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 853s # "error": "got null, not integer", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 734 - type.json: "number type matches numbers" - "an integer is a number" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 735 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 736 - type.json: "number type matches numbers" - "a float is a number" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 737 - type.json: "number type matches numbers" - "a string is not a number" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 738 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 739 - type.json: "number type matches numbers" - "an object is not a number" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 740 - type.json: "number type matches numbers" - "an array is not a number" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 741 - type.json: "number type matches numbers" - "a boolean is not a number" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 742 - type.json: "number type matches numbers" - "null is not a number" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not number", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 743 - type.json: "string type matches strings" - "1 is not a string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 744 - type.json: "string type matches strings" - "a float is not a string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got number, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got number, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 745 - type.json: "string type matches strings" - "a string is a string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 746 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 747 - type.json: "string type matches strings" - "an empty string is still a string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 748 - type.json: "string type matches strings" - "an object is not a string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got object, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got object, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 749 - type.json: "string type matches strings" - "an array is not a string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got array, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got array, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 750 - type.json: "string type matches strings" - "a boolean is not a string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got boolean, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got boolean, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 751 - type.json: "string type matches strings" - "null is not a string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got null, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got null, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 752 - type.json: "object type matches objects" - "an integer is not an object" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 753 - type.json: "object type matches objects" - "a float is not an object" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 754 - type.json: "object type matches objects" - "a string is not an object" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 755 - type.json: "object type matches objects" - "an object is an object" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 756 - type.json: "object type matches objects" - "an array is not an object" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 757 - type.json: "object type matches objects" - "a boolean is not an object" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 758 - type.json: "object type matches objects" - "null is not an object" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 759 - type.json: "array type matches arrays" - "an integer is not an array" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 760 - type.json: "array type matches arrays" - "a float is not an array" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 761 - type.json: "array type matches arrays" - "a string is not an array" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 762 - type.json: "array type matches arrays" - "an object is not an array" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 763 - type.json: "array type matches arrays" - "an array is an array" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 764 - type.json: "array type matches arrays" - "a boolean is not an array" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 765 - type.json: "array type matches arrays" - "null is not an array" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not array", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 766 - type.json: "boolean type matches booleans" - "an integer is not a boolean" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 767 - type.json: "boolean type matches booleans" - "zero is not a boolean" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 768 - type.json: "boolean type matches booleans" - "a float is not a boolean" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 769 - type.json: "boolean type matches booleans" - "a string is not a boolean" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 770 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 771 - type.json: "boolean type matches booleans" - "an object is not a boolean" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 772 - type.json: "boolean type matches booleans" - "an array is not a boolean" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 773 - type.json: "boolean type matches booleans" - "true is a boolean" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 774 - type.json: "boolean type matches booleans" - "false is a boolean" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 775 - type.json: "boolean type matches booleans" - "null is not a boolean" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not boolean", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 776 - type.json: "null type matches only the null object" - "an integer is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 777 - type.json: "null type matches only the null object" - "a float is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 778 - type.json: "null type matches only the null object" - "zero is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 779 - type.json: "null type matches only the null object" - "a string is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 780 - type.json: "null type matches only the null object" - "an empty string is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 781 - type.json: "null type matches only the null object" - "an object is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 782 - type.json: "null type matches only the null object" - "an array is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 783 - type.json: "null type matches only the null object" - "true is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 784 - type.json: "null type matches only the null object" - "false is not null" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 785 - type.json: "null type matches only the null object" - "null is null" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 786 - type.json: "multiple types can be specified in an array" - "an integer is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 787 - type.json: "multiple types can be specified in an array" - "a string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 788 - type.json: "multiple types can be specified in an array" - "a float is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got number, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 789 - type.json: "multiple types can be specified in an array" - "an object is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got object, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 790 - type.json: "multiple types can be specified in an array" - "an array is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got array, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 791 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got boolean, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 792 - type.json: "multiple types can be specified in an array" - "null is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not one of integer, string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 793 - type.json: "type as array with one item" - "string is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 794 - type.json: "type as array with one item" - "number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not one of string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not one of string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 795 - type.json: "type: array or object" - "array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 796 - type.json: "type: array or object" - "object is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 797 - type.json: "type: array or object" - "number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not one of array, object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not one of array, object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 798 - type.json: "type: array or object" - "string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not one of array, object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not one of array, object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 799 - type.json: "type: array or object" - "null is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not one of array, object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got null, not one of array, object", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 800 - type.json: "type: array, object or null" - "array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 801 - type.json: "type: array, object or null" - "object is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 802 - type.json: "type: array, object or null" - "null is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 803 - type.json: "type: array, object or null" - "number is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not one of array, object, null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got integer, not one of array, object, null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 804 - type.json: "type: array, object or null" - "string is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not one of array, object, null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not one of array, object, null", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s # 853s ok 805 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 806 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 807 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 2 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 2 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 808 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 809 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 810 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 811 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 812 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 2 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 2 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 813 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 814 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 815 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 816 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 817 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 818 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 819 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 820 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 2 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 2 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 821 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 822 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 823 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 824 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 825 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 826 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 827 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 828 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 4 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 4 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 829 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 830 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 831 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 832 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 833 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 834 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 835 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 836 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 837 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 838 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 839 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 2 and 3 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 2 and 3 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 840 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 2 and 3 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 2 and 3 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 841 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 842 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 843 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 844 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "items at indices 0 and 1 are not unique", 853s # "instanceLocation": "", 853s # "keywordLocation": "/uniqueItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 845 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional item not permitted", 853s # "instanceLocation": "/2", 853s # "keywordLocation": "/additionalItems" 853s # }, 853s # { 853s # "error": "subschema is not valid against all additional items", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional item not permitted", 853s # "instanceLocation": "/2", 853s # "keywordLocation": "/additionalItems" 853s # }, 853s # { 853s # "error": "subschema is not valid against all additional items", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 846 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 847 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 848 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 849 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 850 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 851 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 852 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 853 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 854 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 855 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 856 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 857 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 858 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 859 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 860 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 861 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 862 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 863 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 864 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 865 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 866 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 867 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 868 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 869 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 870 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 871 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 872 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 873 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional item not permitted", 853s # "instanceLocation": "/2", 853s # "keywordLocation": "/additionalItems" 853s # }, 853s # { 853s # "error": "subschema is not valid against all additional items", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional item not permitted", 853s # "instanceLocation": "/2", 853s # "keywordLocation": "/additionalItems" 853s # }, 853s # { 853s # "error": "subschema is not valid against all additional items", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalItems" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s # 853s 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" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 875 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not", 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/0/$ref/not" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not", 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/1/$ref/not" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type", 853s # "error": "got null, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/2/$ref/type" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not", 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/0/$ref/not" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not", 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/1/$ref/not" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type", 853s # "error": "got null, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/2/$ref/type" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 876 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not", 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/0/$ref/not" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not", 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/1/$ref/not" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/2/$ref/type" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not", 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/0/$ref/not" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not", 853s # "error": "subschema is valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/1/$ref/not" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf/2/$ref/type" 853s # }, 853s # { 853s # "error": "no subschemas are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/anyOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s # 853s ok 877 - optional/bignum.json: "integer" - "a bignum is an integer" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 878 - optional/bignum.json: "integer" - "a negative bignum is an integer" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 879 - optional/bignum.json: "number" - "a bignum is a number" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 880 - optional/bignum.json: "number" - "a negative bignum is a number" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 881 - optional/bignum.json: "string" - "a bignum is not a string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 853s # "error": "got integer, not string", 853s # "instanceLocation": "", 853s # "keywordLocation": "/type" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 882 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 883 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 853s # "instanceLocation": "", 853s # "keywordLocation": "/exclusiveMaximum" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 853s # "instanceLocation": "", 853s # "keywordLocation": "/exclusiveMaximum" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 884 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 885 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 853s # "instanceLocation": "", 853s # "keywordLocation": "/exclusiveMinimum" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 853s # "instanceLocation": "", 853s # "keywordLocation": "/exclusiveMinimum" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s # 853s ok 886 - optional/content.json: "validation of string-encoded content based on media type" - "a valid JSON document" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 887 - optional/content.json: "validation of string-encoded content based on media type" - "an invalid JSON document" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\") at /usr/share/perl5/JSON/Schema/Modern.pm line 1050.", 853s # "instanceLocation": "", 853s # "keywordLocation": "/contentMediaType" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\") at /usr/share/perl5/JSON/Schema/Modern.pm line 1050.", 853s # "instanceLocation": "", 853s # "keywordLocation": "/contentMediaType" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 888 - optional/content.json: "validation of string-encoded content based on media type" - "ignores non-strings" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 889 - optional/content.json: "validation of binary string-encoding" - "a valid base64 string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 890 - optional/content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character)" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "could not decode base64 string: invalid characters", 853s # "instanceLocation": "", 853s # "keywordLocation": "/contentEncoding" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "could not decode base64 string: invalid characters", 853s # "instanceLocation": "", 853s # "keywordLocation": "/contentEncoding" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 891 - optional/content.json: "validation of binary string-encoding" - "ignores non-strings" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 892 - optional/content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 893 - optional/content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\\n\") at /usr/share/perl5/JSON/Schema/Modern.pm line 1050.", 853s # "instanceLocation": "", 853s # "keywordLocation": "/contentMediaType" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\\n\") at /usr/share/perl5/JSON/Schema/Modern.pm line 1050.", 853s # "instanceLocation": "", 853s # "keywordLocation": "/contentMediaType" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 894 - optional/content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "could not decode base64 string: invalid characters", 853s # "instanceLocation": "", 853s # "keywordLocation": "/contentEncoding" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "could not decode base64 string: invalid characters", 853s # "instanceLocation": "", 853s # "keywordLocation": "/contentEncoding" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 895 - optional/content.json: "validation of binary-encoded media type documents" - "ignores non-strings" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 896 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "missing bar is invalid" { 853s # result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired/foo", 853s # "error": "object is missing property: bar", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/1/$ref/dependentRequired/foo" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired", 853s # "error": "not all dependencies are satisfied", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/1/$ref/dependentRequired" 853s # }, 853s # { 853s # "error": "subschema 1 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired/foo", 853s # "error": "object is missing property: bar", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/1/$ref/dependentRequired/foo" 853s # }, 853s # { 853s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired", 853s # "error": "not all dependencies are satisfied", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf/1/$ref/dependentRequired" 853s # }, 853s # { 853s # "error": "subschema 1 is not valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/allOf" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 897 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "present bar is valid" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 898 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 899 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 900 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 901 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 902 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 903 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 904 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 905 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 906 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true # 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s 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" 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false # 853s 1..1 853s } 853s 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" 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected true; got false 853s # { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s 1..1 853s } 853s 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" 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected true; got false 853s # { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s 1..1 853s } 853s ok 912 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true # 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s 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" 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false # 853s 1..1 853s } 853s 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" 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected true; got false 853s # { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s 1..1 853s } 853s ok 916 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 917 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 918 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 919 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 920 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 921 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests" 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected true; got false 853s # { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s 1..1 853s } 853s ok 922 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 923 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 924 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 925 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 926 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 927 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 928 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 929 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 930 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 931 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s ok 933 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 934 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 935 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 936 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 937 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 938 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 939 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 940 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 941 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 942 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s ok 945 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 946 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 947 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 948 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 949 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 950 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s ok 952 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 953 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 954 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 955 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 956 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 957 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 958 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/L'ÉCOLE", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/L'ÉCOLE", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 959 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s ok 962 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/L'ÉCOLE", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/L'ÉCOLE", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 963 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/l'école", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/l'école", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 964 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/l'école", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/l'école", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 965 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 966 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 967 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/-%#", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/-%#", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s 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" 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s not ok 1 - evaluation result is incorrect # 853s # Failed test (with amnesty) 'evaluation result is incorrect' 853s # at t/zzz-acceptance-draft7.t line 45. 853s # expected false; got true 853s # { 853s # "valid": true 853s # } 853s 1..1 853s } 853s ok 969 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 970 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/-%#", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "additional property not permitted", 853s # "instanceLocation": "/-%#", 853s # "keywordLocation": "/additionalProperties" 853s # }, 853s # { 853s # "error": "not all additional properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/additionalProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 971 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 972 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s # 853s ok 973 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 974 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 975 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 976 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 977 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 978 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 979 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "pattern does not match", 853s # "instanceLocation": "", 853s # "keywordLocation": "/pattern" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 980 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 981 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 982 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" { 853s # result: { 853s # "valid": true 853s # } 853s # short-circuited result: { 853s # "valid": true 853s # } 853s ok 1 - test passes: data is valid: true 853s 1..1 853s } 853s ok 983 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/🐲", 853s # "keywordLocation": "/patternProperties/^🐲*$/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/🐲", 853s # "keywordLocation": "/patternProperties/^🐲*$/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s ok 984 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" { 853s # result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/🐲🐲", 853s # "keywordLocation": "/patternProperties/^🐲*$/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s # short-circuited result: { 853s # "errors": [ 853s # { 853s # "error": "got string, not integer", 853s # "instanceLocation": "/🐲🐲", 853s # "keywordLocation": "/patternProperties/^🐲*$/type" 853s # }, 853s # { 853s # "error": "not all properties are valid", 853s # "instanceLocation": "", 853s # "keywordLocation": "/patternProperties" 853s # } 853s # ], 853s # "valid": false 853s # } 853s ok 1 - test passes: data is valid: false 853s 1..1 853s } 853s # 853s # 853s # Results using Test::JSON::Schema::Acceptance 1.021 853s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 853s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 853s # specification version: draft7 853s # optional tests included: yes 853s # skipping directory: optional/format 853s # 853s # filename pass todo-fail fail 853s # --------------------------------------------------------------- 853s # additionalItems.json 18 0 0 853s # additionalProperties.json 16 0 0 853s # allOf.json 30 0 0 853s # anyOf.json 18 0 0 853s # boolean_schema.json 18 0 0 853s # const.json 50 0 0 853s # contains.json 21 0 0 853s # default.json 7 0 0 853s # definitions.json 2 0 0 853s # dependencies.json 36 0 0 853s # enum.json 33 0 0 853s # exclusiveMaximum.json 4 0 0 853s # exclusiveMinimum.json 4 0 0 853s # format.json 102 0 0 853s # id.json 7 0 0 853s # if-then-else.json 26 0 0 853s # infinite-loop-detection.json 2 0 0 853s # items.json 28 0 0 853s # maxItems.json 6 0 0 853s # maxLength.json 7 0 0 853s # maxProperties.json 10 0 0 853s # maximum.json 8 0 0 853s # minItems.json 6 0 0 853s # minLength.json 7 0 0 853s # minProperties.json 8 0 0 853s # minimum.json 11 0 0 853s # multipleOf.json 10 0 0 853s # not.json 12 0 0 853s # oneOf.json 27 0 0 853s # pattern.json 9 0 0 853s # patternProperties.json 23 0 0 853s # properties.json 28 0 0 853s # propertyNames.json 13 0 0 853s # ref.json 78 0 0 853s # refRemote.json 23 0 0 853s # required.json 16 0 0 853s # type.json 80 0 0 853s # uniqueItems.json 69 0 0 853s # unknownKeyword.json 3 0 0 853s # optional/bignum.json 9 0 0 853s # optional/content.json 10 0 0 853s # optional/cross-draft.json 2 0 0 853s # optional/ecmascript-regex.json 60 14 0 853s # optional/float-overflow.json 1 0 0 853s # optional/non-bmp-regex.json 12 0 0 853s # --------------------------------------------------------------- 853s # TOTAL 970 14 0 853s # 853s # Congratulations, all non-optional tests are passing! 853s # 853s ok 985 - no leaks in the main evaluator object 853s ok 986 - no leaks in the short-circuiting evaluator object 853s 1..986 853s ok 853s t/zzz-check-breaks.t .................... 853s 1..2 853s ok 1 # skip no conflicts module found to check against 853s ok 2 - checked x_breaks data 853s ok 853s All tests successful. 853s 853s Test Summary Report 853s ------------------- 853s t/zzz-acceptance-draft2019-09-format.t (Wstat: 0 Tests: 473 Failed: 0) 853s TODO passed: 131-135, 146-201, 258-270, 282, 415-424 853s 450 853s t/zzz-acceptance-draft2019-09.t (Wstat: 0 Tests: 1337 Failed: 0) 853s TODO passed: 1206-1241, 1250-1259, 1265, 1276, 1287-1288 853s 1295, 1304-1305, 1312, 1332-1335 853s t/zzz-acceptance-draft2020-12-format.t (Wstat: 0 Tests: 480 Failed: 0) 853s TODO passed: 118-119, 138-142, 153-208, 265-277, 289 853s 422-431, 457 853s t/zzz-acceptance-draft2020-12.t (Wstat: 0 Tests: 1363 Failed: 0) 853s TODO passed: 1227-1262, 1271-1280, 1286, 1297, 1308-1309 853s 1316-1317, 1326-1327, 1334, 1358-1361 853s t/zzz-acceptance-draft7-format.t (Wstat: 0 Tests: 425 Failed: 0) 853s TODO passed: 106-109, 120-174, 231-243, 255, 388-397 853s 423 853s t/zzz-acceptance-draft7.t (Wstat: 0 Tests: 986 Failed: 0) 853s TODO passed: 906-915, 921, 932, 943-944, 951, 960-961 853s 968 853s Files=38, Tests=8158, 277 wallclock secs (14.16 usr 0.74 sys + 245.84 cusr 8.96 csys = 269.70 CPU) 853s Result: PASS 853s autopkgtest [15:45:31]: test autodep8-perl-build-deps: -----------------------] 862s autodep8-perl-build-deps PASS 862s autopkgtest [15:45:40]: test autodep8-perl-build-deps: - - - - - - - - - - results - - - - - - - - - - 866s autopkgtest [15:45:44]: test autodep8-perl: preparing testbed 930s autopkgtest [15:46:48]: testbed dpkg architecture: armhf 932s autopkgtest [15:46:50]: testbed apt version: 2.7.12 932s autopkgtest [15:46:50]: @@@@@@@@@@@@@@@@@@@@ test bed setup 934s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 935s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [53.9 kB] 935s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 935s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [500 kB] 936s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3761 kB] 938s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf Packages [622 kB] 939s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf c-n-f Metadata [2492 B] 939s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf Packages [1372 B] 939s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf c-n-f Metadata [116 B] 939s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf Packages [3765 kB] 939s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf c-n-f Metadata [7776 B] 939s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf Packages [46.5 kB] 939s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf c-n-f Metadata [116 B] 950s Fetched 8884 kB in 7s (1286 kB/s) 951s Reading package lists... 957s Get:1 http://ports.ubuntu.com/ubuntu-ports noble-proposed InRelease [117 kB] 958s Get:2 http://ports.ubuntu.com/ubuntu-ports noble-proposed/main armhf Packages [620 kB] 958s Get:3 http://ports.ubuntu.com/ubuntu-ports noble-proposed/main armhf c-n-f Metadata [2492 B] 958s Get:4 http://ports.ubuntu.com/ubuntu-ports noble-proposed/universe armhf Packages [3780 kB] 958s Get:5 http://ports.ubuntu.com/ubuntu-ports noble-proposed/universe armhf c-n-f Metadata [7776 B] 958s Get:6 http://ports.ubuntu.com/ubuntu-ports noble-proposed/restricted armhf Packages [1372 B] 958s Get:7 http://ports.ubuntu.com/ubuntu-ports noble-proposed/restricted armhf c-n-f Metadata [116 B] 958s Get:8 http://ports.ubuntu.com/ubuntu-ports noble-proposed/multiverse armhf Packages [35.6 kB] 958s Get:9 http://ports.ubuntu.com/ubuntu-ports noble-proposed/multiverse armhf c-n-f Metadata [116 B] 969s Fetched 4564 kB in 2s (1913 kB/s) 969s Reading package lists... 977s tee: /proc/self/fd/2: Permission denied 1013s Hit:1 http://ports.ubuntu.com/ubuntu-ports noble-proposed InRelease 1013s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 1013s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 1013s Hit:4 http://ports.ubuntu.com/ubuntu-ports noble InRelease 1013s Hit:5 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease 1013s Hit:6 http://ftpmaster.internal/ubuntu noble-security InRelease 1013s Hit:7 http://ports.ubuntu.com/ubuntu-ports noble-backports InRelease 1013s Hit:8 http://ftpmaster.internal/ubuntu noble-proposed InRelease 1013s Hit:9 http://ports.ubuntu.com/ubuntu-ports noble-security InRelease 1020s Reading package lists... 1020s Reading package lists... 1021s Building dependency tree... 1021s Reading state information... 1023s Calculating upgrade... 1025s The following packages were automatically installed and are no longer required: 1025s libatasmart4 libblockdev-crypto3 libblockdev-fs3 libblockdev-loop3 1025s libblockdev-mdraid3 libblockdev-nvme3 libblockdev-part3 libblockdev-swap3 1025s libblockdev-utils3 libblockdev3 libbytesize-common libbytesize1 libnspr4 1025s libnss3 libnvme1t64 libpolkit-agent-1-0 libvolume-key1 1025s linux-headers-6.8.0-11 python3-lib2to3 1025s Use 'apt autoremove' to remove them. 1028s The following packages will be REMOVED: 1028s libapt-pkg6.0 libarchive13 libatm1 libcurl3-gnutls libcurl4 libdb5.3 libelf1 1028s libext2fs2 libgdbm-compat4 libgdbm6 libglib2.0-0 libgnutls30 libgpgme11 1028s libhogweed6 libmagic1 libnetplan0 libnettle8 libnpth0 libnvme1 libparted2 1028s libpcap0.8 libperl5.38 libpng16-16 libpsl5 libreadline8 libreiserfscore0 1028s libssl3 libtirpc3 libudisks2-0 libuv1 linux-headers-6.8.0-11-generic 1028s python3-distutils udisks2 1028s The following NEW packages will be installed: 1028s libapt-pkg6.0t64 libarchive13t64 libatm1t64 libcurl3t64-gnutls libcurl4t64 1028s libdb5.3t64 libelf1t64 libext2fs2t64 libgdbm-compat4t64 libgdbm6t64 1028s libglib2.0-0t64 libgnutls30t64 libgpgme11t64 libhogweed6t64 libmagic1t64 1028s libnetplan1 libnettle8t64 libnpth0t64 libnvme1t64 libparted2t64 1028s libpcap0.8t64 libperl5.38t64 libpng16-16t64 libpsl5t64 libreadline8t64 1028s libreiserfscore0t64 libssl3t64 libtirpc3t64 libuv1t64 linux-headers-6.8.0-20 1028s linux-headers-6.8.0-20-generic xdg-user-dirs 1028s The following packages have been kept back: 1028s multipath-tools 1028s The following packages will be upgraded: 1028s apparmor apt apt-utils bind9-dnsutils bind9-host bind9-libs binutils 1028s binutils-arm-linux-gnueabihf binutils-common bolt bsdextrautils bsdutils 1028s btrfs-progs coreutils cryptsetup-bin curl dbus dbus-bin dbus-daemon 1028s dbus-session-bus-common dbus-system-bus-common dbus-user-session debianutils 1028s dhcpcd-base dirmngr dmsetup dpkg dpkg-dev e2fsprogs e2fsprogs-l10n eject 1028s fdisk file ftp fwupd gawk gcc-13-base gcc-14-base gir1.2-girepository-2.0 1028s gir1.2-glib-2.0 gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client 1028s gpgconf gpgsm gpgv groff-base ibverbs-providers inetutils-telnet info 1028s initramfs-tools initramfs-tools-bin initramfs-tools-core install-info 1028s iproute2 jq keyboxd kmod kpartx krb5-locales libapparmor1 libaudit-common 1028s libaudit1 libbinutils libblkid1 libblockdev-crypto3 libblockdev-fs3 1028s libblockdev-loop3 libblockdev-mdraid3 libblockdev-nvme3 libblockdev-part3 1028s libblockdev-swap3 libblockdev-utils3 libblockdev3 libbpf1 libbrotli1 libbsd0 1028s libc-bin libc6 libcap-ng0 libcom-err2 libcryptsetup12 libctf-nobfd0 libctf0 1028s libdbus-1-3 libdebconfclient0 libdevmapper1.02.1 libdpkg-perl 1028s libevent-core-2.1-7 libexpat1 libfdisk1 libfido2-1 libftdi1-2 libfwupd2 1028s libgcc-s1 libgirepository-1.0-1 libglib2.0-data libgssapi-krb5-2 1028s libgudev-1.0-0 libgusb2 libibverbs1 libjcat1 libjq1 libjson-glib-1.0-0 1028s libjson-glib-1.0-common libk5crypto3 libkmod2 libkrb5-3 libkrb5support0 1028s libldap-common libldap2 liblocale-gettext-perl liblzma5 libmagic-mgc 1028s libmbim-glib4 libmbim-proxy libmm-glib0 libmount1 libnghttp2-14 libnsl2 1028s libnss-systemd libpam-modules libpam-modules-bin libpam-runtime 1028s libpam-systemd libpam0g libplymouth5 libpolkit-agent-1-0 1028s libpolkit-gobject-1-0 libpython3-stdlib libpython3.11-minimal 1028s libpython3.11-stdlib libpython3.12-minimal libpython3.12-stdlib libqmi-glib5 1028s libqmi-proxy libqrtr-glib0 librtmp1 libsasl2-2 libsasl2-modules 1028s libsasl2-modules-db libseccomp2 libselinux1 libsemanage-common libsemanage2 1028s libsframe1 libslang2 libsmartcols1 libsqlite3-0 libss2 libssh-4 libstdc++6 1028s libsystemd-shared libsystemd0 libtext-charwidth-perl libtext-iconv-perl 1028s libtirpc-common libudev1 libusb-1.0-0 libuuid1 libvolume-key1 libxml2 1028s libxmlb2 libxmuu1 linux-headers-generic locales logsave lshw lsof man-db 1028s mount mtr-tiny netplan-generator netplan.io openssh-client openssh-server 1028s openssh-sftp-server openssl parted perl perl-base perl-modules-5.38 1028s pinentry-curses plymouth plymouth-theme-ubuntu-text psmisc python-apt-common 1028s python3 python3-apt python3-cryptography python3-dbus python3-gdbm 1028s python3-gi python3-lib2to3 python3-markupsafe python3-minimal 1028s python3-netplan python3-pkg-resources python3-pyrsistent python3-setuptools 1028s python3-typing-extensions python3-yaml python3.11 python3.11-minimal 1028s python3.12 python3.12-minimal readline-common rsync shared-mime-info sudo 1028s systemd systemd-dev systemd-resolved systemd-sysv systemd-timesyncd tcpdump 1028s telnet tnftp ubuntu-minimal ubuntu-pro-client ubuntu-pro-client-l10n 1028s ubuntu-standard udev usb.ids util-linux uuid-runtime vim-common vim-tiny 1028s wget xxd xz-utils zlib1g 1028s 235 upgraded, 32 newly installed, 33 to remove and 1 not upgraded. 1028s Need to get 106 MB of archives. 1028s After this operation, 82.8 MB of additional disk space will be used. 1028s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bsdutils armhf 1:2.39.3-9ubuntu2 [102 kB] 1028s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gcc-14-base armhf 14-20240315-1ubuntu1 [47.0 kB] 1028s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgcc-s1 armhf 14-20240315-1ubuntu1 [41.5 kB] 1028s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libstdc++6 armhf 14-20240315-1ubuntu1 [714 kB] 1029s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libc6 armhf 2.39-0ubuntu6 [2827 kB] 1029s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssl armhf 3.0.13-0ubuntu2 [975 kB] 1029s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf zlib1g armhf 1:1.3.dfsg-3.1ubuntu1 [49.2 kB] 1029s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main armhf librtmp1 armhf 2.4+20151223.gitfa8646d.1-2build6 [51.3 kB] 1029s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.12 armhf 3.12.2-4build3 [645 kB] 1029s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libexpat1 armhf 2.6.1-2 [65.9 kB] 1029s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.12-minimal armhf 3.12.2-4build3 [1942 kB] 1029s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.12-stdlib armhf 3.12.2-4build3 [1906 kB] 1029s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.12-minimal armhf 3.12.2-4build3 [816 kB] 1029s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/main armhf parted armhf 3.6-3.1build2 [39.4 kB] 1029s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblkid1 armhf 2.39.3-9ubuntu2 [160 kB] 1029s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libselinux1 armhf 3.5-2ubuntu1 [70.9 kB] 1029s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-dev all 255.4-1ubuntu5 [103 kB] 1029s Get:18 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-timesyncd armhf 255.4-1ubuntu5 [36.0 kB] 1029s Get:19 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-session-bus-common all 1.14.10-4ubuntu2 [80.3 kB] 1029s Get:20 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libaudit-common all 1:3.1.2-2.1 [5674 B] 1029s Get:21 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcap-ng0 armhf 0.8.4-2build1 [13.5 kB] 1029s Get:22 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libaudit1 armhf 1:3.1.2-2.1 [44.3 kB] 1029s Get:23 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam0g armhf 1.5.3-5ubuntu3 [62.0 kB] 1029s Get:24 http://ftpmaster.internal/ubuntu noble-proposed/main armhf liblzma5 armhf 5.6.0-0.2 [117 kB] 1029s Get:25 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libldap2 armhf 2.6.7+dfsg-1~exp1ubuntu6 [172 kB] 1029s Get:26 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libglib2.0-0t64 armhf 2.79.3-3ubuntu5 [1414 kB] 1029s Get:27 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libvolume-key1 armhf 0.3.12-7build1 [38.4 kB] 1029s Get:28 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgpgme11t64 armhf 1.18.0-4.1ubuntu3 [120 kB] 1029s Get:29 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjcat1 armhf 0.2.0-2build2 [30.4 kB] 1029s Get:30 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libarchive13t64 armhf 3.7.2-1.1ubuntu1 [330 kB] 1029s Get:31 http://ftpmaster.internal/ubuntu noble-proposed/main armhf fwupd armhf 1.9.15-1 [4349 kB] 1029s Get:32 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ubuntu-pro-client-l10n armhf 31.2 [19.4 kB] 1029s Get:33 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ubuntu-pro-client armhf 31.2 [216 kB] 1029s Get:34 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.11 armhf 3.11.8-1build4 [589 kB] 1029s Get:35 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.11-minimal armhf 3.11.8-1build4 [1795 kB] 1030s Get:36 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.11-minimal armhf 3.11.8-1build4 [826 kB] 1030s Get:37 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-modules-db armhf 2.1.28+dfsg1-4ubuntu4 [19.2 kB] 1030s Get:38 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtext-iconv-perl armhf 1.7-8build2 [12.7 kB] 1030s Get:39 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtext-charwidth-perl armhf 0.04-11build2 [8962 B] 1030s Get:40 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl-base armhf 5.38.2-3.2 [1671 kB] 1030s Get:41 http://ftpmaster.internal/ubuntu noble-proposed/main armhf liblocale-gettext-perl armhf 1.07-6ubuntu3 [15.0 kB] 1030s Get:42 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 1030s Get:43 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-gdbm armhf 3.12.2-3ubuntu2 [17.1 kB] 1030s Get:44 http://ftpmaster.internal/ubuntu noble-proposed/main armhf man-db armhf 2.12.0-3build4 [1196 kB] 1030s Get:45 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgdbm6t64 armhf 1.23-5.1 [30.3 kB] 1030s Get:46 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgdbm-compat4t64 armhf 1.23-5.1 [6208 B] 1030s Get:47 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libperl5.38t64 armhf 5.38.2-3.2 [4101 kB] 1030s Get:48 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl armhf 5.38.2-3.2 [231 kB] 1030s Get:49 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdb5.3t64 armhf 5.3.28+dfsg2-5build1 [661 kB] 1030s Get:50 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.11-stdlib armhf 3.11.8-1build4 [1810 kB] 1030s Get:51 http://ftpmaster.internal/ubuntu noble-proposed/main armhf keyboxd armhf 2.4.4-2ubuntu15 [111 kB] 1030s Get:52 http://ftpmaster.internal/ubuntu noble/main armhf libnpth0t64 armhf 1.6-3.1 [6940 B] 1030s Get:53 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgv armhf 2.4.4-2ubuntu15 [224 kB] 1030s Get:54 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg armhf 2.4.4-2ubuntu15 [524 kB] 1030s Get:55 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg-wks-client armhf 2.4.4-2ubuntu15 [87.4 kB] 1030s Get:56 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg-utils armhf 2.4.4-2ubuntu15 [158 kB] 1030s Get:57 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg-agent armhf 2.4.4-2ubuntu15 [235 kB] 1030s Get:58 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgsm armhf 2.4.4-2ubuntu15 [241 kB] 1030s Get:59 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libreadline8t64 armhf 8.2-3.1 [129 kB] 1030s Get:60 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gawk armhf 1:5.2.1-2build2 [415 kB] 1030s Get:61 http://ftpmaster.internal/ubuntu noble-proposed/main armhf fdisk armhf 2.39.3-9ubuntu2 [135 kB] 1030s Get:62 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgconf armhf 2.4.4-2ubuntu15 [115 kB] 1030s Get:63 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dirmngr armhf 2.4.4-2ubuntu15 [346 kB] 1030s Get:64 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg all 2.4.4-2ubuntu15 [359 kB] 1030s Get:65 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-apt armhf 2.7.6build1 [162 kB] 1030s Get:66 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apt-utils armhf 2.7.13ubuntu1 [210 kB] 1030s Get:67 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libapt-pkg6.0t64 armhf 2.7.13ubuntu1 [986 kB] 1030s Get:68 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnettle8t64 armhf 3.9.1-2.2 [187 kB] 1030s Get:69 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libhogweed6t64 armhf 3.9.1-2.2 [187 kB] 1030s Get:70 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgnutls30t64 armhf 3.8.3-1.1ubuntu2 [1046 kB] 1030s Get:71 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apt armhf 2.7.13ubuntu1 [1367 kB] 1031s Get:72 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcurl3t64-gnutls armhf 8.5.0-2ubuntu7 [290 kB] 1031s Get:73 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfwupd2 armhf 1.9.15-1 [123 kB] 1031s Get:74 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpsl5t64 armhf 0.21.2-1.1 [55.7 kB] 1031s Get:75 http://ftpmaster.internal/ubuntu noble-proposed/main armhf wget armhf 1.21.4-1ubuntu2 [317 kB] 1031s Get:76 http://ftpmaster.internal/ubuntu noble-proposed/main armhf tnftp armhf 20230507-2build1 [98.6 kB] 1031s Get:77 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpcap0.8t64 armhf 1.10.4-4.1ubuntu1 [137 kB] 1031s Get:78 http://ftpmaster.internal/ubuntu noble-proposed/main armhf tcpdump armhf 4.99.4-3ubuntu2 [425 kB] 1031s Get:79 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsystemd-shared armhf 255.4-1ubuntu5 [2009 kB] 1031s Get:80 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-resolved armhf 255.4-1ubuntu5 [289 kB] 1031s Get:81 http://ftpmaster.internal/ubuntu noble-proposed/main armhf sudo armhf 1.9.15p5-3ubuntu3 [936 kB] 1031s Get:82 http://ftpmaster.internal/ubuntu noble-proposed/main armhf rsync armhf 3.2.7-1build1 [413 kB] 1031s Get:83 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-cryptography armhf 41.0.7-4build2 [788 kB] 1031s Get:84 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-sftp-server armhf 1:9.6p1-3ubuntu11 [35.5 kB] 1031s Get:85 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-client armhf 1:9.6p1-3ubuntu11 [890 kB] 1031s Get:86 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-server armhf 1:9.6p1-3ubuntu11 [503 kB] 1031s Get:87 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-6.8.0-20 all 6.8.0-20.20 [13.6 MB] 1031s Get:88 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-6.8.0-20-generic armhf 6.8.0-20.20 [1287 kB] 1031s Get:89 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-generic armhf 6.8.0-20.20+1 [9610 B] 1031s Get:90 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libssl3t64 armhf 3.0.13-0ubuntu2 [1558 kB] 1031s Get:91 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libudev1 armhf 255.4-1ubuntu5 [166 kB] 1031s Get:92 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd armhf 255.4-1ubuntu5 [3502 kB] 1032s Get:93 http://ftpmaster.internal/ubuntu noble-proposed/main armhf udev armhf 255.4-1ubuntu5 [1852 kB] 1032s Get:94 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-sysv armhf 255.4-1ubuntu5 [11.9 kB] 1032s Get:95 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnss-systemd armhf 255.4-1ubuntu5 [148 kB] 1032s Get:96 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-systemd armhf 255.4-1ubuntu5 [216 kB] 1032s Get:97 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsystemd0 armhf 255.4-1ubuntu5 [410 kB] 1032s Get:98 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-modules-bin armhf 1.5.3-5ubuntu3 [47.0 kB] 1032s Get:99 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-modules armhf 1.5.3-5ubuntu3 [261 kB] 1032s Get:100 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-runtime all 1.5.3-5ubuntu3 [40.8 kB] 1032s Get:101 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-user-session armhf 1.14.10-4ubuntu2 [9962 B] 1032s Get:102 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libapparmor1 armhf 4.0.0-beta3-0ubuntu2 [45.0 kB] 1032s Get:103 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-bin armhf 1.14.10-4ubuntu2 [37.1 kB] 1032s Get:104 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-system-bus-common all 1.14.10-4ubuntu2 [81.5 kB] 1032s Get:105 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus armhf 1.14.10-4ubuntu2 [28.1 kB] 1032s Get:106 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-daemon armhf 1.14.10-4ubuntu2 [109 kB] 1032s Get:107 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdbus-1-3 armhf 1.14.10-4ubuntu2 [190 kB] 1032s Get:108 http://ftpmaster.internal/ubuntu noble-proposed/main armhf kmod armhf 31+20240202-2ubuntu4 [91.8 kB] 1032s Get:109 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkmod2 armhf 31+20240202-2ubuntu4 [44.9 kB] 1032s Get:110 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmount1 armhf 2.39.3-9ubuntu2 [171 kB] 1032s Get:111 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libseccomp2 armhf 2.5.5-1ubuntu2 [49.5 kB] 1032s Get:112 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libuuid1 armhf 2.39.3-9ubuntu2 [34.4 kB] 1032s Get:113 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcryptsetup12 armhf 2:2.7.0-1ubuntu2 [238 kB] 1032s Get:114 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfdisk1 armhf 2.39.3-9ubuntu2 [196 kB] 1032s Get:115 http://ftpmaster.internal/ubuntu noble-proposed/main armhf mount armhf 2.39.3-9ubuntu2 [134 kB] 1032s Get:116 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdevmapper1.02.1 armhf 2:1.02.185-3ubuntu2 [135 kB] 1032s Get:117 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparted2t64 armhf 3.6-3.1build2 [143 kB] 1032s Get:118 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsqlite3-0 armhf 3.45.1-1ubuntu1 [599 kB] 1032s Get:119 http://ftpmaster.internal/ubuntu noble-proposed/main armhf pinentry-curses armhf 1.2.1-3ubuntu4 [36.7 kB] 1032s Get:120 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsmartcols1 armhf 2.39.3-9ubuntu2 [117 kB] 1032s Get:121 http://ftpmaster.internal/ubuntu noble-proposed/main armhf readline-common all 8.2-3.1 [56.4 kB] 1032s Get:122 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-yaml armhf 6.0.1-2build1 [117 kB] 1032s Get:123 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python-apt-common all 2.7.6build1 [19.8 kB] 1032s Get:124 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-setuptools all 68.1.2-2ubuntu1 [396 kB] 1032s Get:125 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-pkg-resources all 68.1.2-2ubuntu1 [168 kB] 1032s Get:126 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dpkg armhf 1.22.6ubuntu4 [1229 kB] 1033s Get:127 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-minimal armhf 3.12.2-0ubuntu1 [27.1 kB] 1033s Get:128 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3 armhf 3.12.2-0ubuntu1 [24.1 kB] 1033s Get:129 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3-stdlib armhf 3.12.2-0ubuntu1 [9802 B] 1033s Get:130 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bsdextrautils armhf 2.39.3-9ubuntu2 [78.7 kB] 1033s Get:131 http://ftpmaster.internal/ubuntu noble-proposed/main armhf groff-base armhf 1.23.0-3build1 [946 kB] 1033s Get:132 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-2 armhf 2.1.28+dfsg1-4ubuntu4 [49.7 kB] 1033s Get:133 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjson-glib-1.0-common all 1.8.0-2build1 [4210 B] 1033s Get:134 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjson-glib-1.0-0 armhf 1.8.0-2build1 [61.2 kB] 1033s Get:135 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxml2 armhf 2.9.14+dfsg-1.3ubuntu2 [595 kB] 1033s Get:136 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgudev-1.0-0 armhf 1:238-3ubuntu2 [13.6 kB] 1033s Get:137 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libusb-1.0-0 armhf 2:1.0.27-1 [48.7 kB] 1033s Get:138 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgusb2 armhf 0.4.8-1build1 [34.6 kB] 1033s Get:139 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmbim-proxy armhf 1.31.2-0ubuntu2 [5748 B] 1033s Get:140 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmbim-glib4 armhf 1.31.2-0ubuntu2 [216 kB] 1033s Get:141 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmm-glib0 armhf 1.23.4-0ubuntu1 [214 kB] 1033s Get:142 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpolkit-agent-1-0 armhf 124-1ubuntu1 [15.3 kB] 1033s Get:143 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpolkit-gobject-1-0 armhf 124-1ubuntu1 [44.1 kB] 1033s Get:144 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqmi-proxy armhf 1.35.2-0ubuntu1 [5732 B] 1033s Get:145 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqrtr-glib0 armhf 1.2.2-1ubuntu3 [15.4 kB] 1033s Get:146 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqmi-glib5 armhf 1.35.2-0ubuntu1 [908 kB] 1033s Get:147 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxmlb2 armhf 0.3.15-1build1 [57.0 kB] 1033s Get:148 http://ftpmaster.internal/ubuntu noble-proposed/main armhf shared-mime-info armhf 2.4-1build1 [470 kB] 1033s Get:149 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbrotli1 armhf 1.1.0-2build1 [319 kB] 1033s Get:150 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgssapi-krb5-2 armhf 1.20.1-5.1build3 [119 kB] 1033s Get:151 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkrb5-3 armhf 1.20.1-5.1build3 [321 kB] 1033s Get:152 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkrb5support0 armhf 1.20.1-5.1build3 [31.4 kB] 1033s Get:153 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libk5crypto3 armhf 1.20.1-5.1build3 [78.6 kB] 1033s Get:154 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcom-err2 armhf 1.47.0-2.4~exp1ubuntu2 [21.9 kB] 1033s Get:155 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnghttp2-14 armhf 1.59.0-1build1 [68.1 kB] 1033s Get:156 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libssh-4 armhf 0.10.6-2build1 [169 kB] 1033s Get:157 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libibverbs1 armhf 50.0-2build1 [57.9 kB] 1033s Get:158 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfido2-1 armhf 1.14.0-1build1 [75.8 kB] 1033s Get:159 http://ftpmaster.internal/ubuntu noble-proposed/main armhf coreutils armhf 9.4-3ubuntu3 [1280 kB] 1033s Get:160 http://ftpmaster.internal/ubuntu noble-proposed/main armhf debianutils armhf 5.17 [88.9 kB] 1033s Get:161 http://ftpmaster.internal/ubuntu noble-proposed/main armhf util-linux armhf 2.39.3-9ubuntu2 [1216 kB] 1033s Get:162 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libc-bin armhf 2.39-0ubuntu6 [530 kB] 1033s Get:163 http://ftpmaster.internal/ubuntu noble-proposed/main armhf curl armhf 8.5.0-2ubuntu7 [219 kB] 1033s Get:164 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcurl4t64 armhf 8.5.0-2ubuntu7 [296 kB] 1033s Get:165 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbpf1 armhf 1:1.3.0-2build1 [146 kB] 1033s Get:166 http://ftpmaster.internal/ubuntu noble-proposed/main armhf iproute2 armhf 6.1.0-1ubuntu5 [1060 kB] 1033s Get:167 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libelf1t64 armhf 0.190-1.1build2 [49.9 kB] 1033s Get:168 http://ftpmaster.internal/ubuntu noble-proposed/main armhf lsof armhf 4.95.0-1build2 [248 kB] 1033s Get:169 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnsl2 armhf 1.3.0-3build2 [36.5 kB] 1033s Get:170 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtirpc-common all 1.3.4+ds-1.1 [8018 B] 1033s Get:171 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtirpc3t64 armhf 1.3.4+ds-1.1 [73.2 kB] 1033s Get:172 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-utils3 armhf 3.1.0-1build1 [16.9 kB] 1033s Get:173 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-fs3 armhf 3.1.0-1build1 [34.4 kB] 1033s Get:174 http://ftpmaster.internal/ubuntu noble-proposed/main armhf logsave armhf 1.47.0-2.4~exp1ubuntu2 [21.9 kB] 1033s Get:175 http://ftpmaster.internal/ubuntu noble/main armhf ubuntu-minimal armhf 1.536build1 [10.7 kB] 1033s Get:176 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools all 0.142ubuntu22 [9056 B] 1033s Get:177 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools-core all 0.142ubuntu22 [50.0 kB] 1033s Get:178 http://ftpmaster.internal/ubuntu noble-proposed/main armhf e2fsprogs-l10n all 1.47.0-2.4~exp1ubuntu2 [5996 B] 1033s Get:179 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libext2fs2t64 armhf 1.47.0-2.4~exp1ubuntu2 [201 kB] 1033s Get:180 http://ftpmaster.internal/ubuntu noble-proposed/main armhf e2fsprogs armhf 1.47.0-2.4~exp1ubuntu2 [571 kB] 1033s Get:181 http://ftpmaster.internal/ubuntu noble-proposed/main armhf btrfs-progs armhf 6.6.3-1.1build1 [852 kB] 1033s Get:182 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dhcpcd-base armhf 1:10.0.6-1ubuntu2 [186 kB] 1033s Get:183 http://ftpmaster.internal/ubuntu noble-proposed/main armhf eject armhf 2.39.3-9ubuntu2 [43.2 kB] 1033s Get:184 http://ftpmaster.internal/ubuntu noble-proposed/main armhf locales all 2.39-0ubuntu6 [4232 kB] 1034s Get:185 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnetplan1 armhf 1.0-1 [113 kB] 1034s Get:186 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-netplan armhf 1.0-1 [22.5 kB] 1034s Get:187 http://ftpmaster.internal/ubuntu noble-proposed/main armhf netplan-generator armhf 1.0-1 [58.7 kB] 1034s Get:188 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-dbus armhf 1.3.2-5build2 [94.7 kB] 1034s Get:189 http://ftpmaster.internal/ubuntu noble-proposed/main armhf netplan.io armhf 1.0-1 [64.3 kB] 1034s Get:190 http://ftpmaster.internal/ubuntu noble-proposed/main armhf vim-tiny armhf 2:9.1.0016-1ubuntu5 [665 kB] 1034s Get:191 http://ftpmaster.internal/ubuntu noble-proposed/main armhf vim-common all 2:9.1.0016-1ubuntu5 [385 kB] 1034s Get:192 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools-bin armhf 0.142ubuntu22 [20.1 kB] 1034s Get:193 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libreiserfscore0t64 armhf 1:3.6.27-7.1 [66.2 kB] 1034s Get:194 http://ftpmaster.internal/ubuntu noble-proposed/main armhf file armhf 1:5.45-3 [21.1 kB] 1034s Get:195 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmagic-mgc armhf 1:5.45-3 [307 kB] 1034s Get:196 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmagic1t64 armhf 1:5.45-3 [81.4 kB] 1034s Get:197 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-nvme3 armhf 3.1.0-1build1 [17.5 kB] 1034s Get:198 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnvme1t64 armhf 1.8-3 [67.5 kB] 1034s Get:199 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libplymouth5 armhf 24.004.60-1ubuntu5 [140 kB] 1034s Get:200 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpng16-16t64 armhf 1.6.43-3 [166 kB] 1034s Get:201 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-host armhf 1:9.18.24-0ubuntu3 [47.4 kB] 1034s Get:202 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-dnsutils armhf 1:9.18.24-0ubuntu3 [149 kB] 1034s Get:203 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-libs armhf 1:9.18.24-0ubuntu3 [1148 kB] 1034s Get:204 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libuv1t64 armhf 1.48.0-1.1 [82.9 kB] 1034s Get:205 http://ftpmaster.internal/ubuntu noble-proposed/main armhf uuid-runtime armhf 2.39.3-9ubuntu2 [41.7 kB] 1034s Get:206 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdebconfclient0 armhf 0.271ubuntu2 [10.8 kB] 1034s Get:207 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsemanage-common all 3.5-1build4 [10.1 kB] 1034s Get:208 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsemanage2 armhf 3.5-1build4 [84.5 kB] 1034s Get:209 http://ftpmaster.internal/ubuntu noble-proposed/main armhf install-info armhf 7.1-3build1 [60.5 kB] 1034s Get:210 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gcc-13-base armhf 13.2.0-19ubuntu1 [47.7 kB] 1034s Get:211 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libss2 armhf 1.47.0-2.4~exp1ubuntu2 [14.7 kB] 1034s Get:212 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dmsetup armhf 2:1.02.185-3ubuntu2 [81.1 kB] 1034s Get:213 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gir1.2-girepository-2.0 armhf 1.79.1-1ubuntu6 [24.8 kB] 1035s Get:214 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gir1.2-glib-2.0 armhf 2.79.3-3ubuntu5 [182 kB] 1035s Get:215 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgirepository-1.0-1 armhf 1.79.1-1ubuntu6 [106 kB] 1035s Get:216 http://ftpmaster.internal/ubuntu noble-proposed/main armhf krb5-locales all 1.20.1-5.1build3 [13.8 kB] 1035s Get:217 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbsd0 armhf 0.12.1-1 [36.6 kB] 1035s Get:218 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libglib2.0-data all 2.79.3-3ubuntu5 [46.6 kB] 1035s Get:219 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libslang2 armhf 2.3.3-3build1 [478 kB] 1035s Get:220 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-gi armhf 3.47.0-3build1 [219 kB] 1035s Get:221 http://ftpmaster.internal/ubuntu noble/main armhf xdg-user-dirs armhf 0.18-1 [17.3 kB] 1035s Get:222 http://ftpmaster.internal/ubuntu noble-proposed/main armhf xxd armhf 2:9.1.0016-1ubuntu5 [62.4 kB] 1035s Get:223 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apparmor armhf 4.0.0-beta3-0ubuntu2 [562 kB] 1035s Get:224 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ftp all 20230507-2build1 [4724 B] 1035s Get:225 http://ftpmaster.internal/ubuntu noble-proposed/main armhf inetutils-telnet armhf 2:2.5-3ubuntu3 [90.7 kB] 1035s Get:226 http://ftpmaster.internal/ubuntu noble-proposed/main armhf info armhf 7.1-3build1 [127 kB] 1035s Get:227 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxmuu1 armhf 2:1.1.3-3build1 [8004 B] 1035s Get:228 http://ftpmaster.internal/ubuntu noble-proposed/main armhf lshw armhf 02.19.git.2021.06.19.996aaad9c7-2build2 [310 kB] 1035s Get:229 http://ftpmaster.internal/ubuntu noble-proposed/main armhf mtr-tiny armhf 0.95-1.1build1 [51.7 kB] 1035s Get:230 http://ftpmaster.internal/ubuntu noble-proposed/main armhf plymouth-theme-ubuntu-text armhf 24.004.60-1ubuntu5 [9826 B] 1035s Get:231 http://ftpmaster.internal/ubuntu noble-proposed/main armhf plymouth armhf 24.004.60-1ubuntu5 [143 kB] 1035s Get:232 http://ftpmaster.internal/ubuntu noble-proposed/main armhf psmisc armhf 23.7-1 [176 kB] 1035s Get:233 http://ftpmaster.internal/ubuntu noble-proposed/main armhf telnet all 0.17+2.5-3ubuntu3 [3682 B] 1035s Get:234 http://ftpmaster.internal/ubuntu noble-proposed/main armhf xz-utils armhf 5.6.0-0.2 [271 kB] 1035s Get:235 http://ftpmaster.internal/ubuntu noble/main armhf ubuntu-standard armhf 1.536build1 [10.7 kB] 1035s Get:236 http://ftpmaster.internal/ubuntu noble-proposed/main armhf usb.ids all 2024.03.18-1 [223 kB] 1035s Get:237 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libctf-nobfd0 armhf 2.42-4ubuntu1 [88.0 kB] 1035s Get:238 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libctf0 armhf 2.42-4ubuntu1 [87.7 kB] 1035s Get:239 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils-arm-linux-gnueabihf armhf 2.42-4ubuntu1 [2925 kB] 1035s Get:240 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbinutils armhf 2.42-4ubuntu1 [464 kB] 1035s Get:241 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils armhf 2.42-4ubuntu1 [3078 B] 1035s Get:242 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils-common armhf 2.42-4ubuntu1 [217 kB] 1035s Get:243 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsframe1 armhf 2.42-4ubuntu1 [13.1 kB] 1035s Get:244 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bolt armhf 0.9.6-2build1 [138 kB] 1035s Get:245 http://ftpmaster.internal/ubuntu noble-proposed/main armhf cryptsetup-bin armhf 2:2.7.0-1ubuntu2 [214 kB] 1035s Get:246 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dpkg-dev all 1.22.6ubuntu4 [1074 kB] 1035s Get:247 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdpkg-perl all 1.22.6ubuntu4 [268 kB] 1035s Get:248 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg-l10n all 2.4.4-2ubuntu15 [65.8 kB] 1035s Get:249 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ibverbs-providers armhf 50.0-2build1 [27.4 kB] 1035s Get:250 http://ftpmaster.internal/ubuntu noble-proposed/main armhf jq armhf 1.7.1-3 [65.2 kB] 1035s Get:251 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjq1 armhf 1.7.1-3 [156 kB] 1035s Get:252 http://ftpmaster.internal/ubuntu noble/main armhf libatm1t64 armhf 1:2.5.1-5.1 [20.0 kB] 1035s Get:253 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-crypto3 armhf 3.1.0-1build1 [20.3 kB] 1035s Get:254 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-loop3 armhf 3.1.0-1build1 [6502 B] 1035s Get:255 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-mdraid3 armhf 3.1.0-1build1 [13.3 kB] 1035s Get:256 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-part3 armhf 3.1.0-1build1 [16.4 kB] 1035s Get:257 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-swap3 armhf 3.1.0-1build1 [8894 B] 1035s Get:258 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev3 armhf 3.1.0-1build1 [42.9 kB] 1035s Get:259 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libevent-core-2.1-7 armhf 2.1.12-stable-9build1 [82.3 kB] 1035s Get:260 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libftdi1-2 armhf 1.5-6build4 [25.7 kB] 1035s Get:261 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libldap-common all 2.6.7+dfsg-1~exp1ubuntu6 [31.3 kB] 1035s Get:262 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-modules armhf 2.1.28+dfsg1-4ubuntu4 [61.4 kB] 1035s Get:263 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-lib2to3 all 3.12.2-3ubuntu2 [79.3 kB] 1035s Get:264 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-markupsafe armhf 2.1.5-1build1 [12.1 kB] 1035s Get:265 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-pyrsistent armhf 0.20.0-1build1 [53.0 kB] 1035s Get:266 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-typing-extensions all 4.10.0-1 [60.7 kB] 1035s Get:267 http://ftpmaster.internal/ubuntu noble-proposed/main armhf kpartx armhf 0.9.4-5ubuntu5 [31.4 kB] 1040s Preconfiguring packages ... 1041s Fetched 106 MB in 7s (14.4 MB/s) 1041s (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 ... 58620 files and directories currently installed.) 1041s Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu2_armhf.deb ... 1041s Unpacking bsdutils (1:2.39.3-9ubuntu2) over (1:2.39.3-6ubuntu2) ... 1041s Setting up bsdutils (1:2.39.3-9ubuntu2) ... 1042s (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 ... 58620 files and directories currently installed.) 1042s Preparing to unpack .../gcc-14-base_14-20240315-1ubuntu1_armhf.deb ... 1042s Unpacking gcc-14-base:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 1042s Setting up gcc-14-base:armhf (14-20240315-1ubuntu1) ... 1042s (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 ... 58620 files and directories currently installed.) 1042s Preparing to unpack .../libgcc-s1_14-20240315-1ubuntu1_armhf.deb ... 1042s Unpacking libgcc-s1:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 1042s Setting up libgcc-s1:armhf (14-20240315-1ubuntu1) ... 1042s (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 ... 58620 files and directories currently installed.) 1042s Preparing to unpack .../libstdc++6_14-20240315-1ubuntu1_armhf.deb ... 1042s Unpacking libstdc++6:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 1042s Setting up libstdc++6:armhf (14-20240315-1ubuntu1) ... 1042s (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 ... 58620 files and directories currently installed.) 1042s Preparing to unpack .../libc6_2.39-0ubuntu6_armhf.deb ... 1043s Unpacking libc6:armhf (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 1043s Setting up libc6:armhf (2.39-0ubuntu6) ... 1045s (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 ... 58620 files and directories currently installed.) 1045s Preparing to unpack .../openssl_3.0.13-0ubuntu2_armhf.deb ... 1045s Unpacking openssl (3.0.13-0ubuntu2) over (3.0.10-1ubuntu4) ... 1045s Preparing to unpack .../zlib1g_1%3a1.3.dfsg-3.1ubuntu1_armhf.deb ... 1045s Unpacking zlib1g:armhf (1:1.3.dfsg-3.1ubuntu1) over (1:1.3.dfsg-3ubuntu1) ... 1045s Setting up zlib1g:armhf (1:1.3.dfsg-3.1ubuntu1) ... 1045s (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 ... 58620 files and directories currently installed.) 1045s Preparing to unpack .../0-librtmp1_2.4+20151223.gitfa8646d.1-2build6_armhf.deb ... 1045s Unpacking librtmp1:armhf (2.4+20151223.gitfa8646d.1-2build6) over (2.4+20151223.gitfa8646d.1-2build4) ... 1045s Preparing to unpack .../1-python3.12_3.12.2-4build3_armhf.deb ... 1046s Unpacking python3.12 (3.12.2-4build3) over (3.12.2-1) ... 1046s Preparing to unpack .../2-libexpat1_2.6.1-2_armhf.deb ... 1046s Unpacking libexpat1:armhf (2.6.1-2) over (2.6.0-1) ... 1046s Preparing to unpack .../3-python3.12-minimal_3.12.2-4build3_armhf.deb ... 1046s Unpacking python3.12-minimal (3.12.2-4build3) over (3.12.2-1) ... 1046s Preparing to unpack .../4-libpython3.12-stdlib_3.12.2-4build3_armhf.deb ... 1046s Unpacking libpython3.12-stdlib:armhf (3.12.2-4build3) over (3.12.2-1) ... 1047s Preparing to unpack .../5-libpython3.12-minimal_3.12.2-4build3_armhf.deb ... 1047s Unpacking libpython3.12-minimal:armhf (3.12.2-4build3) over (3.12.2-1) ... 1047s Preparing to unpack .../6-parted_3.6-3.1build2_armhf.deb ... 1047s Unpacking parted (3.6-3.1build2) over (3.6-3) ... 1048s (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 ... 58618 files and directories currently installed.) 1048s Removing libparted2:armhf (3.6-3) ... 1048s (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 ... 58612 files and directories currently installed.) 1048s Preparing to unpack .../libblkid1_2.39.3-9ubuntu2_armhf.deb ... 1048s Unpacking libblkid1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1048s Setting up libblkid1:armhf (2.39.3-9ubuntu2) ... 1048s (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 ... 58612 files and directories currently installed.) 1048s Preparing to unpack .../libselinux1_3.5-2ubuntu1_armhf.deb ... 1048s Unpacking libselinux1:armhf (3.5-2ubuntu1) over (3.5-2build1) ... 1048s Setting up libselinux1:armhf (3.5-2ubuntu1) ... 1048s (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 ... 58612 files and directories currently installed.) 1048s Preparing to unpack .../systemd-dev_255.4-1ubuntu5_all.deb ... 1048s Unpacking systemd-dev (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1049s Preparing to unpack .../systemd-timesyncd_255.4-1ubuntu5_armhf.deb ... 1049s Unpacking systemd-timesyncd (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1049s Preparing to unpack .../dbus-session-bus-common_1.14.10-4ubuntu2_all.deb ... 1049s Unpacking dbus-session-bus-common (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 1049s Preparing to unpack .../libaudit-common_1%3a3.1.2-2.1_all.deb ... 1049s Unpacking libaudit-common (1:3.1.2-2.1) over (1:3.1.2-2) ... 1049s Setting up libaudit-common (1:3.1.2-2.1) ... 1049s (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 ... 58612 files and directories currently installed.) 1049s Preparing to unpack .../libcap-ng0_0.8.4-2build1_armhf.deb ... 1049s Unpacking libcap-ng0:armhf (0.8.4-2build1) over (0.8.4-2) ... 1049s Setting up libcap-ng0:armhf (0.8.4-2build1) ... 1049s (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 ... 58612 files and directories currently installed.) 1049s Preparing to unpack .../libaudit1_1%3a3.1.2-2.1_armhf.deb ... 1049s Unpacking libaudit1:armhf (1:3.1.2-2.1) over (1:3.1.2-2) ... 1049s Setting up libaudit1:armhf (1:3.1.2-2.1) ... 1050s (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 ... 58612 files and directories currently installed.) 1050s Preparing to unpack .../libpam0g_1.5.3-5ubuntu3_armhf.deb ... 1050s Unpacking libpam0g:armhf (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 1050s Setting up libpam0g:armhf (1.5.3-5ubuntu3) ... 1050s (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 ... 58612 files and directories currently installed.) 1050s Preparing to unpack .../liblzma5_5.6.0-0.2_armhf.deb ... 1050s Unpacking liblzma5:armhf (5.6.0-0.2) over (5.4.5-0.3) ... 1050s Setting up liblzma5:armhf (5.6.0-0.2) ... 1050s (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 ... 58612 files and directories currently installed.) 1050s Preparing to unpack .../libldap2_2.6.7+dfsg-1~exp1ubuntu6_armhf.deb ... 1050s Unpacking libldap2:armhf (2.6.7+dfsg-1~exp1ubuntu6) over (2.6.7+dfsg-1~exp1ubuntu1) ... 1051s (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 ... 58612 files and directories currently installed.) 1051s Removing udisks2 (2.10.1-1ubuntu2) ... 1052s dpkg: libglib2.0-0:armhf: dependency problems, but removing anyway as you requested: 1052s shared-mime-info depends on libglib2.0-0 (>= 2.75.3). 1052s python3-gi depends on libglib2.0-0 (>= 2.77.0). 1052s python3-dbus depends on libglib2.0-0 (>= 2.16.0). 1052s netplan.io depends on libglib2.0-0 (>= 2.70.0). 1052s netplan-generator depends on libglib2.0-0 (>= 2.70.0). 1052s libxmlb2:armhf depends on libglib2.0-0 (>= 2.54.0). 1052s libvolume-key1:armhf depends on libglib2.0-0 (>= 2.18.0). 1052s libudisks2-0:armhf depends on libglib2.0-0 (>= 2.75.3). 1052s libqrtr-glib0:armhf depends on libglib2.0-0 (>= 2.56). 1052s libqmi-proxy depends on libglib2.0-0 (>= 2.30.0). 1052s libqmi-glib5:armhf depends on libglib2.0-0 (>= 2.54.0). 1052s libpolkit-gobject-1-0:armhf depends on libglib2.0-0 (>= 2.38.0). 1052s libpolkit-agent-1-0:armhf depends on libglib2.0-0 (>= 2.38.0). 1052s libnetplan0:armhf depends on libglib2.0-0 (>= 2.75.3). 1052s libmm-glib0:armhf depends on libglib2.0-0 (>= 2.62.0). 1052s libmbim-proxy depends on libglib2.0-0 (>= 2.56). 1052s libmbim-glib4:armhf depends on libglib2.0-0 (>= 2.56). 1052s libjson-glib-1.0-0:armhf depends on libglib2.0-0 (>= 2.75.3). 1052s libjcat1:armhf depends on libglib2.0-0 (>= 2.75.3). 1052s libgusb2:armhf depends on libglib2.0-0 (>= 2.75.3). 1052s libgudev-1.0-0:armhf depends on libglib2.0-0 (>= 2.38.0). 1052s libgirepository-1.0-1:armhf depends on libglib2.0-0 (>= 2.79.0). 1052s libfwupd2:armhf depends on libglib2.0-0 (>= 2.79.0). 1052s libblockdev3:armhf depends on libglib2.0-0 (>= 2.42.2). 1052s libblockdev-utils3:armhf depends on libglib2.0-0 (>= 2.75.3). 1052s libblockdev-swap3:armhf depends on libglib2.0-0 (>= 2.42.2). 1052s libblockdev-part3:armhf depends on libglib2.0-0 (>= 2.42.2). 1052s libblockdev-nvme3:armhf depends on libglib2.0-0 (>= 2.42.2). 1052s libblockdev-mdraid3:armhf depends on libglib2.0-0 (>= 2.42.2). 1052s libblockdev-loop3:armhf depends on libglib2.0-0 (>= 2.42.2). 1052s libblockdev-fs3:armhf depends on libglib2.0-0 (>= 2.42.2). 1052s libblockdev-crypto3:armhf depends on libglib2.0-0 (>= 2.42.2). 1052s gir1.2-glib-2.0:armhf depends on libglib2.0-0 (= 2.79.2-1~ubuntu1). 1052s fwupd depends on libglib2.0-0 (>= 2.79.0). 1052s bolt depends on libglib2.0-0 (>= 2.56.0). 1052s 1052s Removing libglib2.0-0:armhf (2.79.2-1~ubuntu1) ... 1052s Selecting previously unselected package libglib2.0-0t64:armhf. 1052s (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 ... 58560 files and directories currently installed.) 1052s Preparing to unpack .../libglib2.0-0t64_2.79.3-3ubuntu5_armhf.deb ... 1052s libglib2.0-0t64.preinst: Removing /var/lib/dpkg/info/libglib2.0-0:armhf.postrm to avoid loss of /usr/share/glib-2.0/schemas/gschemas.compiled... 1052s removed '/var/lib/dpkg/info/libglib2.0-0:armhf.postrm' 1052s Unpacking libglib2.0-0t64:armhf (2.79.3-3ubuntu5) ... 1052s Preparing to unpack .../libvolume-key1_0.3.12-7build1_armhf.deb ... 1052s Unpacking libvolume-key1:armhf (0.3.12-7build1) over (0.3.12-5build2) ... 1052s dpkg: libgpgme11:armhf: dependency problems, but removing anyway as you requested: 1052s libjcat1:armhf depends on libgpgme11 (>= 1.2.0). 1052s 1053s (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 ... 58585 files and directories currently installed.) 1053s Removing libgpgme11:armhf (1.18.0-4ubuntu1) ... 1053s Selecting previously unselected package libgpgme11t64:armhf. 1053s (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 ... 58579 files and directories currently installed.) 1053s Preparing to unpack .../libgpgme11t64_1.18.0-4.1ubuntu3_armhf.deb ... 1053s Unpacking libgpgme11t64:armhf (1.18.0-4.1ubuntu3) ... 1053s Preparing to unpack .../libjcat1_0.2.0-2build2_armhf.deb ... 1053s Unpacking libjcat1:armhf (0.2.0-2build2) over (0.2.0-2) ... 1053s dpkg: libarchive13:armhf: dependency problems, but removing anyway as you requested: 1053s fwupd depends on libarchive13 (>= 3.2.1). 1053s 1053s (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 ... 58586 files and directories currently installed.) 1053s Removing libarchive13:armhf (3.7.2-1ubuntu2) ... 1053s Selecting previously unselected package libarchive13t64:armhf. 1053s (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 ... 58580 files and directories currently installed.) 1053s Preparing to unpack .../00-libarchive13t64_3.7.2-1.1ubuntu1_armhf.deb ... 1053s Unpacking libarchive13t64:armhf (3.7.2-1.1ubuntu1) ... 1053s Preparing to unpack .../01-fwupd_1.9.15-1_armhf.deb ... 1054s Unpacking fwupd (1.9.15-1) over (1.9.14-1) ... 1054s Preparing to unpack .../02-ubuntu-pro-client-l10n_31.2_armhf.deb ... 1054s Unpacking ubuntu-pro-client-l10n (31.2) over (31.1) ... 1054s Preparing to unpack .../03-ubuntu-pro-client_31.2_armhf.deb ... 1056s Unpacking ubuntu-pro-client (31.2) over (31.1) ... 1056s Preparing to unpack .../04-python3.11_3.11.8-1build4_armhf.deb ... 1056s Unpacking python3.11 (3.11.8-1build4) over (3.11.8-1) ... 1056s Preparing to unpack .../05-python3.11-minimal_3.11.8-1build4_armhf.deb ... 1056s Unpacking python3.11-minimal (3.11.8-1build4) over (3.11.8-1) ... 1057s Preparing to unpack .../06-libpython3.11-minimal_3.11.8-1build4_armhf.deb ... 1057s Unpacking libpython3.11-minimal:armhf (3.11.8-1build4) over (3.11.8-1) ... 1057s Preparing to unpack .../07-libsasl2-modules-db_2.1.28+dfsg1-4ubuntu4_armhf.deb ... 1057s Unpacking libsasl2-modules-db:armhf (2.1.28+dfsg1-4ubuntu4) over (2.1.28+dfsg1-4) ... 1057s Preparing to unpack .../08-libtext-iconv-perl_1.7-8build2_armhf.deb ... 1057s Unpacking libtext-iconv-perl:armhf (1.7-8build2) over (1.7-8build1) ... 1057s Preparing to unpack .../09-libtext-charwidth-perl_0.04-11build2_armhf.deb ... 1057s Unpacking libtext-charwidth-perl:armhf (0.04-11build2) over (0.04-11build1) ... 1057s Preparing to unpack .../10-perl-base_5.38.2-3.2_armhf.deb ... 1057s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 1058s Setting up perl-base (5.38.2-3.2) ... 1058s (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 ... 58587 files and directories currently installed.) 1058s Preparing to unpack .../liblocale-gettext-perl_1.07-6ubuntu3_armhf.deb ... 1058s Unpacking liblocale-gettext-perl (1.07-6ubuntu3) over (1.07-6build1) ... 1058s Preparing to unpack .../perl-modules-5.38_5.38.2-3.2_all.deb ... 1058s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 1060s Preparing to unpack .../python3-gdbm_3.12.2-3ubuntu2_armhf.deb ... 1060s Unpacking python3-gdbm:armhf (3.12.2-3ubuntu2) over (3.11.5-1) ... 1060s Preparing to unpack .../man-db_2.12.0-3build4_armhf.deb ... 1060s Unpacking man-db (2.12.0-3build4) over (2.12.0-3) ... 1060s dpkg: libgdbm-compat4:armhf: dependency problems, but removing anyway as you requested: 1060s libperl5.38:armhf depends on libgdbm-compat4 (>= 1.18-3). 1060s 1060s (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 ... 58587 files and directories currently installed.) 1060s Removing libgdbm-compat4:armhf (1.23-5) ... 1060s dpkg: libgdbm6:armhf: dependency problems, but removing anyway as you requested: 1060s libperl5.38:armhf depends on libgdbm6 (>= 1.21). 1060s 1060s Removing libgdbm6:armhf (1.23-5) ... 1060s Selecting previously unselected package libgdbm6t64:armhf. 1060s (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 ... 58577 files and directories currently installed.) 1060s Preparing to unpack .../libgdbm6t64_1.23-5.1_armhf.deb ... 1060s Unpacking libgdbm6t64:armhf (1.23-5.1) ... 1061s Selecting previously unselected package libgdbm-compat4t64:armhf. 1061s Preparing to unpack .../libgdbm-compat4t64_1.23-5.1_armhf.deb ... 1061s Unpacking libgdbm-compat4t64:armhf (1.23-5.1) ... 1061s dpkg: libperl5.38:armhf: dependency problems, but removing anyway as you requested: 1061s perl depends on libperl5.38 (= 5.38.2-3). 1061s 1061s (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 ... 58589 files and directories currently installed.) 1061s Removing libperl5.38:armhf (5.38.2-3) ... 1061s Selecting previously unselected package libperl5.38t64:armhf. 1061s (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 ... 58070 files and directories currently installed.) 1061s Preparing to unpack .../libperl5.38t64_5.38.2-3.2_armhf.deb ... 1061s Unpacking libperl5.38t64:armhf (5.38.2-3.2) ... 1062s Preparing to unpack .../perl_5.38.2-3.2_armhf.deb ... 1062s Unpacking perl (5.38.2-3.2) over (5.38.2-3) ... 1062s dpkg: libdb5.3:armhf: dependency problems, but removing anyway as you requested: 1062s libpython3.11-stdlib:armhf depends on libdb5.3. 1062s libpam-modules:armhf depends on libdb5.3. 1062s iproute2 depends on libdb5.3. 1062s apt-utils depends on libdb5.3. 1062s 1062s (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 ... 58589 files and directories currently installed.) 1062s Removing libdb5.3:armhf (5.3.28+dfsg2-4) ... 1062s Selecting previously unselected package libdb5.3t64:armhf. 1062s (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 ... 58583 files and directories currently installed.) 1062s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-5build1_armhf.deb ... 1062s Unpacking libdb5.3t64:armhf (5.3.28+dfsg2-5build1) ... 1062s Preparing to unpack .../libpython3.11-stdlib_3.11.8-1build4_armhf.deb ... 1062s Unpacking libpython3.11-stdlib:armhf (3.11.8-1build4) over (3.11.8-1) ... 1063s Preparing to unpack .../keyboxd_2.4.4-2ubuntu15_armhf.deb ... 1063s Unpacking keyboxd (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1063s dpkg: libnpth0:armhf: dependency problems, but removing anyway as you requested: 1063s gpgv depends on libnpth0 (>= 0.90). 1063s gpgsm depends on libnpth0 (>= 0.90). 1063s gpg-agent depends on libnpth0 (>= 0.90). 1063s gpg depends on libnpth0 (>= 0.90). 1063s dirmngr depends on libnpth0 (>= 0.90). 1063s 1063s (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 ... 58587 files and directories currently installed.) 1063s Removing libnpth0:armhf (1.6-3build2) ... 1063s Selecting previously unselected package libnpth0t64:armhf. 1063s (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 ... 58582 files and directories currently installed.) 1063s Preparing to unpack .../libnpth0t64_1.6-3.1_armhf.deb ... 1063s Unpacking libnpth0t64:armhf (1.6-3.1) ... 1063s Setting up libnpth0t64:armhf (1.6-3.1) ... 1063s (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 ... 58588 files and directories currently installed.) 1063s Preparing to unpack .../gpgv_2.4.4-2ubuntu15_armhf.deb ... 1063s Unpacking gpgv (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1064s Setting up gpgv (2.4.4-2ubuntu15) ... 1064s (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 ... 58588 files and directories currently installed.) 1064s Preparing to unpack .../gpg_2.4.4-2ubuntu15_armhf.deb ... 1064s Unpacking gpg (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1064s Preparing to unpack .../gpg-wks-client_2.4.4-2ubuntu15_armhf.deb ... 1064s Unpacking gpg-wks-client (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1064s Preparing to unpack .../gnupg-utils_2.4.4-2ubuntu15_armhf.deb ... 1064s Unpacking gnupg-utils (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1064s Preparing to unpack .../gpg-agent_2.4.4-2ubuntu15_armhf.deb ... 1064s Unpacking gpg-agent (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1064s Preparing to unpack .../gpgsm_2.4.4-2ubuntu15_armhf.deb ... 1064s Unpacking gpgsm (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1064s dpkg: libreadline8:armhf: dependency problems, but removing anyway as you requested: 1064s gpgconf depends on libreadline8 (>= 6.0). 1064s gawk depends on libreadline8 (>= 6.0). 1064s fdisk depends on libreadline8 (>= 6.0). 1064s 1064s (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 ... 58588 files and directories currently installed.) 1064s Removing libreadline8:armhf (8.2-3) ... 1064s Selecting previously unselected package libreadline8t64:armhf. 1065s (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 ... 58576 files and directories currently installed.) 1065s Preparing to unpack .../libreadline8t64_8.2-3.1_armhf.deb ... 1065s Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64' 1065s Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64' 1065s Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64' 1065s Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64' 1065s Unpacking libreadline8t64:armhf (8.2-3.1) ... 1065s Setting up libreadline8t64:armhf (8.2-3.1) ... 1065s (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 ... 58596 files and directories currently installed.) 1065s Preparing to unpack .../0-gawk_1%3a5.2.1-2build2_armhf.deb ... 1065s Unpacking gawk (1:5.2.1-2build2) over (1:5.2.1-2) ... 1065s Preparing to unpack .../1-fdisk_2.39.3-9ubuntu2_armhf.deb ... 1065s Unpacking fdisk (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1065s Preparing to unpack .../2-gpgconf_2.4.4-2ubuntu15_armhf.deb ... 1065s Unpacking gpgconf (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1065s Preparing to unpack .../3-dirmngr_2.4.4-2ubuntu15_armhf.deb ... 1065s Unpacking dirmngr (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1066s Preparing to unpack .../4-gnupg_2.4.4-2ubuntu15_all.deb ... 1066s Unpacking gnupg (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1066s Preparing to unpack .../5-python3-apt_2.7.6build1_armhf.deb ... 1066s Unpacking python3-apt (2.7.6build1) over (2.7.6) ... 1066s Preparing to unpack .../6-apt-utils_2.7.13ubuntu1_armhf.deb ... 1066s Unpacking apt-utils (2.7.13ubuntu1) over (2.7.12) ... 1066s dpkg: libapt-pkg6.0:armhf: dependency problems, but removing anyway as you requested: 1066s apt depends on libapt-pkg6.0 (>= 2.7.12). 1066s 1066s (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 ... 58594 files and directories currently installed.) 1066s Removing libapt-pkg6.0:armhf (2.7.12) ... 1066s dpkg: libnettle8:armhf: dependency problems, but removing anyway as you requested: 1066s libhogweed6:armhf depends on libnettle8. 1066s libgnutls30:armhf depends on libnettle8 (>= 3.9~). 1066s libcurl3-gnutls:armhf depends on libnettle8. 1066s 1066s Removing libnettle8:armhf (3.9.1-2) ... 1066s Selecting previously unselected package libapt-pkg6.0t64:armhf. 1066s (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 ... 58538 files and directories currently installed.) 1066s Preparing to unpack .../libapt-pkg6.0t64_2.7.13ubuntu1_armhf.deb ... 1066s Unpacking libapt-pkg6.0t64:armhf (2.7.13ubuntu1) ... 1067s Setting up libapt-pkg6.0t64:armhf (2.7.13ubuntu1) ... 1067s Selecting previously unselected package libnettle8t64:armhf. 1067s (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 ... 58588 files and directories currently installed.) 1067s Preparing to unpack .../libnettle8t64_3.9.1-2.2_armhf.deb ... 1067s Unpacking libnettle8t64:armhf (3.9.1-2.2) ... 1067s Setting up libnettle8t64:armhf (3.9.1-2.2) ... 1067s dpkg: libhogweed6:armhf: dependency problems, but removing anyway as you requested: 1067s libgnutls30:armhf depends on libhogweed6 (>= 3.6). 1067s 1067s (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 ... 58596 files and directories currently installed.) 1067s Removing libhogweed6:armhf (3.9.1-2) ... 1067s Selecting previously unselected package libhogweed6t64:armhf. 1067s (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 ... 58591 files and directories currently installed.) 1067s Preparing to unpack .../libhogweed6t64_3.9.1-2.2_armhf.deb ... 1067s Unpacking libhogweed6t64:armhf (3.9.1-2.2) ... 1067s Setting up libhogweed6t64:armhf (3.9.1-2.2) ... 1067s dpkg: libgnutls30:armhf: dependency problems, but removing anyway as you requested: 1067s libcurl3-gnutls:armhf depends on libgnutls30 (>= 3.8.2). 1067s apt depends on libgnutls30 (>= 3.8.1). 1067s 1067s (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 ... 58597 files and directories currently installed.) 1067s Removing libgnutls30:armhf (3.8.3-1ubuntu1) ... 1067s Selecting previously unselected package libgnutls30t64:armhf. 1068s (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 ... 58588 files and directories currently installed.) 1068s Preparing to unpack .../libgnutls30t64_3.8.3-1.1ubuntu2_armhf.deb ... 1068s Unpacking libgnutls30t64:armhf (3.8.3-1.1ubuntu2) ... 1068s Setting up libgnutls30t64:armhf (3.8.3-1.1ubuntu2) ... 1068s (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 ... 58616 files and directories currently installed.) 1068s Preparing to unpack .../apt_2.7.13ubuntu1_armhf.deb ... 1068s Unpacking apt (2.7.13ubuntu1) over (2.7.12) ... 1068s Setting up apt (2.7.13ubuntu1) ... 1070s dpkg: libcurl3-gnutls:armhf: dependency problems, but removing anyway as you requested: 1070s libfwupd2:armhf depends on libcurl3-gnutls (>= 7.63.0). 1070s 1070s (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 ... 58616 files and directories currently installed.) 1070s Removing libcurl3-gnutls:armhf (8.5.0-2ubuntu2) ... 1070s Selecting previously unselected package libcurl3t64-gnutls:armhf. 1070s (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 ... 58609 files and directories currently installed.) 1070s Preparing to unpack .../libcurl3t64-gnutls_8.5.0-2ubuntu7_armhf.deb ... 1070s Unpacking libcurl3t64-gnutls:armhf (8.5.0-2ubuntu7) ... 1071s Preparing to unpack .../libfwupd2_1.9.15-1_armhf.deb ... 1071s Unpacking libfwupd2:armhf (1.9.15-1) over (1.9.14-1) ... 1071s dpkg: libpsl5:armhf: dependency problems, but removing anyway as you requested: 1071s wget depends on libpsl5 (>= 0.16.0). 1071s libcurl4:armhf depends on libpsl5 (>= 0.16.0). 1071s 1071s (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 ... 58616 files and directories currently installed.) 1071s Removing libpsl5:armhf (0.21.2-1build1) ... 1071s Selecting previously unselected package libpsl5t64:armhf. 1071s (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 ... 58611 files and directories currently installed.) 1071s Preparing to unpack .../libpsl5t64_0.21.2-1.1_armhf.deb ... 1071s Unpacking libpsl5t64:armhf (0.21.2-1.1) ... 1071s Preparing to unpack .../wget_1.21.4-1ubuntu2_armhf.deb ... 1071s Unpacking wget (1.21.4-1ubuntu2) over (1.21.4-1ubuntu1) ... 1071s Preparing to unpack .../tnftp_20230507-2build1_armhf.deb ... 1071s Unpacking tnftp (20230507-2build1) over (20230507-2) ... 1071s dpkg: libpcap0.8:armhf: dependency problems, but removing anyway as you requested: 1071s tcpdump depends on libpcap0.8 (>= 1.9.1). 1071s 1071s (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 ... 58617 files and directories currently installed.) 1071s Removing libpcap0.8:armhf (1.10.4-4ubuntu3) ... 1071s Selecting previously unselected package libpcap0.8t64:armhf. 1071s (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 ... 58606 files and directories currently installed.) 1071s Preparing to unpack .../00-libpcap0.8t64_1.10.4-4.1ubuntu1_armhf.deb ... 1071s Unpacking libpcap0.8t64:armhf (1.10.4-4.1ubuntu1) ... 1072s Preparing to unpack .../01-tcpdump_4.99.4-3ubuntu2_armhf.deb ... 1072s Unpacking tcpdump (4.99.4-3ubuntu2) over (4.99.4-3ubuntu1) ... 1072s Preparing to unpack .../02-libsystemd-shared_255.4-1ubuntu5_armhf.deb ... 1072s Unpacking libsystemd-shared:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1072s Preparing to unpack .../03-systemd-resolved_255.4-1ubuntu5_armhf.deb ... 1072s Unpacking systemd-resolved (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1072s Preparing to unpack .../04-sudo_1.9.15p5-3ubuntu3_armhf.deb ... 1072s Unpacking sudo (1.9.15p5-3ubuntu3) over (1.9.15p5-3ubuntu1) ... 1072s Preparing to unpack .../05-rsync_3.2.7-1build1_armhf.deb ... 1072s Unpacking rsync (3.2.7-1build1) over (3.2.7-1) ... 1072s Preparing to unpack .../06-python3-cryptography_41.0.7-4build2_armhf.deb ... 1073s Unpacking python3-cryptography (41.0.7-4build2) over (41.0.7-3) ... 1073s Preparing to unpack .../07-openssh-sftp-server_1%3a9.6p1-3ubuntu11_armhf.deb ... 1073s Unpacking openssh-sftp-server (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 1073s Preparing to unpack .../08-openssh-client_1%3a9.6p1-3ubuntu11_armhf.deb ... 1073s Unpacking openssh-client (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 1073s Preparing to unpack .../09-openssh-server_1%3a9.6p1-3ubuntu11_armhf.deb ... 1073s Unpacking openssh-server (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 1074s Selecting previously unselected package linux-headers-6.8.0-20. 1074s Preparing to unpack .../10-linux-headers-6.8.0-20_6.8.0-20.20_all.deb ... 1074s Unpacking linux-headers-6.8.0-20 (6.8.0-20.20) ... 1085s Selecting previously unselected package linux-headers-6.8.0-20-generic. 1085s Preparing to unpack .../11-linux-headers-6.8.0-20-generic_6.8.0-20.20_armhf.deb ... 1085s Unpacking linux-headers-6.8.0-20-generic (6.8.0-20.20) ... 1091s Preparing to unpack .../12-linux-headers-generic_6.8.0-20.20+1_armhf.deb ... 1091s Unpacking linux-headers-generic (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 1091s (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 ... 89769 files and directories currently installed.) 1091s Removing linux-headers-6.8.0-11-generic (6.8.0-11.11) ... 1093s dpkg: libssl3:armhf: dependency problems, but removing anyway as you requested: 1093s systemd depends on libssl3 (>= 3.0.0). 1093s libssh-4:armhf depends on libssl3 (>= 3.0.0). 1093s libsasl2-modules:armhf depends on libssl3 (>= 3.0.0). 1093s libsasl2-2:armhf depends on libssl3 (>= 3.0.0). 1093s libnvme1 depends on libssl3 (>= 3.0.0). 1093s libkrb5-3:armhf depends on libssl3 (>= 3.0.0). 1093s libkmod2:armhf depends on libssl3 (>= 3.0.0). 1093s libfido2-1:armhf depends on libssl3 (>= 3.0.0). 1093s libcurl4:armhf depends on libssl3 (>= 3.0.0). 1093s libcryptsetup12:armhf depends on libssl3 (>= 3.0.0). 1093s kmod depends on libssl3 (>= 3.0.0). 1093s dhcpcd-base depends on libssl3 (>= 3.0.0). 1093s bind9-libs:armhf depends on libssl3 (>= 3.0.0). 1093s 1093s Removing libssl3:armhf (3.0.10-1ubuntu4) ... 1093s Selecting previously unselected package libssl3t64:armhf. 1093s (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 ... 78619 files and directories currently installed.) 1093s Preparing to unpack .../libssl3t64_3.0.13-0ubuntu2_armhf.deb ... 1093s Unpacking libssl3t64:armhf (3.0.13-0ubuntu2) ... 1093s Setting up libssl3t64:armhf (3.0.13-0ubuntu2) ... 1093s (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 ... 78632 files and directories currently installed.) 1093s Preparing to unpack .../libudev1_255.4-1ubuntu5_armhf.deb ... 1093s Unpacking libudev1:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1093s Setting up libudev1:armhf (255.4-1ubuntu5) ... 1094s (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 ... 78632 files and directories currently installed.) 1094s Preparing to unpack .../systemd_255.4-1ubuntu5_armhf.deb ... 1094s Unpacking systemd (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1095s Preparing to unpack .../udev_255.4-1ubuntu5_armhf.deb ... 1095s Unpacking udev (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1095s Preparing to unpack .../libsystemd0_255.4-1ubuntu5_armhf.deb ... 1095s Unpacking libsystemd0:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1095s Setting up libsystemd0:armhf (255.4-1ubuntu5) ... 1095s Setting up libsystemd-shared:armhf (255.4-1ubuntu5) ... 1095s Setting up systemd-dev (255.4-1ubuntu5) ... 1095s Setting up systemd (255.4-1ubuntu5) ... 1097s (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 ... 78632 files and directories currently installed.) 1097s Preparing to unpack .../systemd-sysv_255.4-1ubuntu5_armhf.deb ... 1097s Unpacking systemd-sysv (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1097s Preparing to unpack .../libnss-systemd_255.4-1ubuntu5_armhf.deb ... 1097s Unpacking libnss-systemd:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1097s Preparing to unpack .../libpam-systemd_255.4-1ubuntu5_armhf.deb ... 1097s Unpacking libpam-systemd:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 1097s Preparing to unpack .../libpam-modules-bin_1.5.3-5ubuntu3_armhf.deb ... 1097s Unpacking libpam-modules-bin (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 1097s Setting up libpam-modules-bin (1.5.3-5ubuntu3) ... 1098s pam_namespace.service is a disabled or a static unit not running, not starting it. 1098s (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 ... 78632 files and directories currently installed.) 1098s Preparing to unpack .../libpam-modules_1.5.3-5ubuntu3_armhf.deb ... 1099s Unpacking libpam-modules:armhf (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 1099s Setting up libpam-modules:armhf (1.5.3-5ubuntu3) ... 1099s Installing new version of config file /etc/security/namespace.init ... 1099s (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 ... 78630 files and directories currently installed.) 1099s Preparing to unpack .../libpam-runtime_1.5.3-5ubuntu3_all.deb ... 1099s Unpacking libpam-runtime (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 1099s Setting up libpam-runtime (1.5.3-5ubuntu3) ... 1100s (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 ... 78630 files and directories currently installed.) 1100s Preparing to unpack .../0-dbus-user-session_1.14.10-4ubuntu2_armhf.deb ... 1100s Unpacking dbus-user-session (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 1100s Preparing to unpack .../1-libapparmor1_4.0.0-beta3-0ubuntu2_armhf.deb ... 1100s Unpacking libapparmor1:armhf (4.0.0-beta3-0ubuntu2) over (4.0.0~alpha4-0ubuntu1) ... 1100s Preparing to unpack .../2-dbus-bin_1.14.10-4ubuntu2_armhf.deb ... 1100s Unpacking dbus-bin (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 1100s Preparing to unpack .../3-dbus-system-bus-common_1.14.10-4ubuntu2_all.deb ... 1100s Unpacking dbus-system-bus-common (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 1100s Preparing to unpack .../4-dbus_1.14.10-4ubuntu2_armhf.deb ... 1100s Unpacking dbus (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 1100s Preparing to unpack .../5-dbus-daemon_1.14.10-4ubuntu2_armhf.deb ... 1100s Unpacking dbus-daemon (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 1101s Preparing to unpack .../6-libdbus-1-3_1.14.10-4ubuntu2_armhf.deb ... 1101s Unpacking libdbus-1-3:armhf (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 1101s Preparing to unpack .../7-kmod_31+20240202-2ubuntu4_armhf.deb ... 1101s Unpacking kmod (31+20240202-2ubuntu4) over (30+20230601-2ubuntu1) ... 1101s dpkg: warning: unable to delete old directory '/lib/modprobe.d': Directory not empty 1101s Preparing to unpack .../8-libkmod2_31+20240202-2ubuntu4_armhf.deb ... 1101s Unpacking libkmod2:armhf (31+20240202-2ubuntu4) over (30+20230601-2ubuntu1) ... 1101s Preparing to unpack .../9-libmount1_2.39.3-9ubuntu2_armhf.deb ... 1101s Unpacking libmount1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1101s Setting up libmount1:armhf (2.39.3-9ubuntu2) ... 1101s (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 ... 78629 files and directories currently installed.) 1101s Preparing to unpack .../libseccomp2_2.5.5-1ubuntu2_armhf.deb ... 1101s Unpacking libseccomp2:armhf (2.5.5-1ubuntu2) over (2.5.5-1ubuntu1) ... 1101s Setting up libseccomp2:armhf (2.5.5-1ubuntu2) ... 1101s (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 ... 78629 files and directories currently installed.) 1101s Preparing to unpack .../libuuid1_2.39.3-9ubuntu2_armhf.deb ... 1101s Unpacking libuuid1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1102s Setting up libuuid1:armhf (2.39.3-9ubuntu2) ... 1102s (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 ... 78629 files and directories currently installed.) 1102s Preparing to unpack .../0-libcryptsetup12_2%3a2.7.0-1ubuntu2_armhf.deb ... 1102s Unpacking libcryptsetup12:armhf (2:2.7.0-1ubuntu2) over (2:2.7.0-1ubuntu1) ... 1102s Preparing to unpack .../1-libfdisk1_2.39.3-9ubuntu2_armhf.deb ... 1102s Unpacking libfdisk1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1102s Preparing to unpack .../2-mount_2.39.3-9ubuntu2_armhf.deb ... 1102s Unpacking mount (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1102s Preparing to unpack .../3-libdevmapper1.02.1_2%3a1.02.185-3ubuntu2_armhf.deb ... 1102s Unpacking libdevmapper1.02.1:armhf (2:1.02.185-3ubuntu2) over (2:1.02.185-3ubuntu1) ... 1102s Selecting previously unselected package libparted2t64:armhf. 1102s Preparing to unpack .../4-libparted2t64_3.6-3.1build2_armhf.deb ... 1102s Unpacking libparted2t64:armhf (3.6-3.1build2) ... 1102s Preparing to unpack .../5-libsqlite3-0_3.45.1-1ubuntu1_armhf.deb ... 1102s Unpacking libsqlite3-0:armhf (3.45.1-1ubuntu1) over (3.45.1-1) ... 1102s Preparing to unpack .../6-pinentry-curses_1.2.1-3ubuntu4_armhf.deb ... 1102s Unpacking pinentry-curses (1.2.1-3ubuntu4) over (1.2.1-3ubuntu1) ... 1102s Preparing to unpack .../7-libsmartcols1_2.39.3-9ubuntu2_armhf.deb ... 1102s Unpacking libsmartcols1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1103s Setting up libsmartcols1:armhf (2.39.3-9ubuntu2) ... 1103s (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 ... 78636 files and directories currently installed.) 1103s Preparing to unpack .../0-readline-common_8.2-3.1_all.deb ... 1103s Unpacking readline-common (8.2-3.1) over (8.2-3) ... 1103s Preparing to unpack .../1-python3-yaml_6.0.1-2build1_armhf.deb ... 1103s Unpacking python3-yaml (6.0.1-2build1) over (6.0.1-2) ... 1103s Preparing to unpack .../2-python-apt-common_2.7.6build1_all.deb ... 1103s Unpacking python-apt-common (2.7.6build1) over (2.7.6) ... 1103s Preparing to unpack .../3-python3-setuptools_68.1.2-2ubuntu1_all.deb ... 1104s Unpacking python3-setuptools (68.1.2-2ubuntu1) over (68.1.2-2) ... 1104s Preparing to unpack .../4-python3-pkg-resources_68.1.2-2ubuntu1_all.deb ... 1104s Unpacking python3-pkg-resources (68.1.2-2ubuntu1) over (68.1.2-2) ... 1104s Preparing to unpack .../5-dpkg_1.22.6ubuntu4_armhf.deb ... 1104s Unpacking dpkg (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 1105s Setting up dpkg (1.22.6ubuntu4) ... 1106s Setting up libpython3.12-minimal:armhf (3.12.2-4build3) ... 1106s Setting up libexpat1:armhf (2.6.1-2) ... 1106s Setting up python3.12-minimal (3.12.2-4build3) ... 1110s (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 ... 78635 files and directories currently installed.) 1110s Preparing to unpack .../python3-minimal_3.12.2-0ubuntu1_armhf.deb ... 1110s Unpacking python3-minimal (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 1110s Setting up python3-minimal (3.12.2-0ubuntu1) ... 1110s (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 ... 78635 files and directories currently installed.) 1110s Preparing to unpack .../00-python3_3.12.2-0ubuntu1_armhf.deb ... 1111s Unpacking python3 (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 1111s Preparing to unpack .../01-libpython3-stdlib_3.12.2-0ubuntu1_armhf.deb ... 1111s Unpacking libpython3-stdlib:armhf (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 1111s Preparing to unpack .../02-bsdextrautils_2.39.3-9ubuntu2_armhf.deb ... 1111s Unpacking bsdextrautils (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1111s Preparing to unpack .../03-groff-base_1.23.0-3build1_armhf.deb ... 1111s Unpacking groff-base (1.23.0-3build1) over (1.23.0-3) ... 1111s Preparing to unpack .../04-libsasl2-2_2.1.28+dfsg1-4ubuntu4_armhf.deb ... 1111s Unpacking libsasl2-2:armhf (2.1.28+dfsg1-4ubuntu4) over (2.1.28+dfsg1-4) ... 1111s Preparing to unpack .../05-libjson-glib-1.0-common_1.8.0-2build1_all.deb ... 1111s Unpacking libjson-glib-1.0-common (1.8.0-2build1) over (1.8.0-2) ... 1111s Preparing to unpack .../06-libjson-glib-1.0-0_1.8.0-2build1_armhf.deb ... 1111s Unpacking libjson-glib-1.0-0:armhf (1.8.0-2build1) over (1.8.0-2) ... 1112s Preparing to unpack .../07-libxml2_2.9.14+dfsg-1.3ubuntu2_armhf.deb ... 1112s Unpacking libxml2:armhf (2.9.14+dfsg-1.3ubuntu2) over (2.9.14+dfsg-1.3ubuntu1) ... 1112s Preparing to unpack .../08-libgudev-1.0-0_1%3a238-3ubuntu2_armhf.deb ... 1112s Unpacking libgudev-1.0-0:armhf (1:238-3ubuntu2) over (1:238-3) ... 1112s Preparing to unpack .../09-libusb-1.0-0_2%3a1.0.27-1_armhf.deb ... 1112s Unpacking libusb-1.0-0:armhf (2:1.0.27-1) over (2:1.0.26-1) ... 1112s Preparing to unpack .../10-libgusb2_0.4.8-1build1_armhf.deb ... 1112s Unpacking libgusb2:armhf (0.4.8-1build1) over (0.4.8-1) ... 1112s Preparing to unpack .../11-libmbim-proxy_1.31.2-0ubuntu2_armhf.deb ... 1112s Unpacking libmbim-proxy (1.31.2-0ubuntu2) over (1.30.0-1) ... 1112s Preparing to unpack .../12-libmbim-glib4_1.31.2-0ubuntu2_armhf.deb ... 1112s Unpacking libmbim-glib4:armhf (1.31.2-0ubuntu2) over (1.30.0-1) ... 1112s Preparing to unpack .../13-libmm-glib0_1.23.4-0ubuntu1_armhf.deb ... 1112s Unpacking libmm-glib0:armhf (1.23.4-0ubuntu1) over (1.22.0-3) ... 1112s Preparing to unpack .../14-libpolkit-agent-1-0_124-1ubuntu1_armhf.deb ... 1112s Unpacking libpolkit-agent-1-0:armhf (124-1ubuntu1) over (124-1) ... 1112s Preparing to unpack .../15-libpolkit-gobject-1-0_124-1ubuntu1_armhf.deb ... 1112s Unpacking libpolkit-gobject-1-0:armhf (124-1ubuntu1) over (124-1) ... 1112s Preparing to unpack .../16-libqmi-proxy_1.35.2-0ubuntu1_armhf.deb ... 1112s Unpacking libqmi-proxy (1.35.2-0ubuntu1) over (1.34.0-2) ... 1112s Preparing to unpack .../17-libqrtr-glib0_1.2.2-1ubuntu3_armhf.deb ... 1112s Unpacking libqrtr-glib0:armhf (1.2.2-1ubuntu3) over (1.2.2-1ubuntu2) ... 1113s Preparing to unpack .../18-libqmi-glib5_1.35.2-0ubuntu1_armhf.deb ... 1113s Unpacking libqmi-glib5:armhf (1.35.2-0ubuntu1) over (1.34.0-2) ... 1113s Preparing to unpack .../19-libxmlb2_0.3.15-1build1_armhf.deb ... 1113s Unpacking libxmlb2:armhf (0.3.15-1build1) over (0.3.15-1) ... 1113s Preparing to unpack .../20-shared-mime-info_2.4-1build1_armhf.deb ... 1113s Unpacking shared-mime-info (2.4-1build1) over (2.4-1) ... 1113s Preparing to unpack .../21-libbrotli1_1.1.0-2build1_armhf.deb ... 1113s Unpacking libbrotli1:armhf (1.1.0-2build1) over (1.1.0-2) ... 1113s Preparing to unpack .../22-libgssapi-krb5-2_1.20.1-5.1build3_armhf.deb ... 1113s Unpacking libgssapi-krb5-2:armhf (1.20.1-5.1build3) over (1.20.1-5build1) ... 1113s Preparing to unpack .../23-libkrb5-3_1.20.1-5.1build3_armhf.deb ... 1113s Unpacking libkrb5-3:armhf (1.20.1-5.1build3) over (1.20.1-5build1) ... 1113s Preparing to unpack .../24-libkrb5support0_1.20.1-5.1build3_armhf.deb ... 1113s Unpacking libkrb5support0:armhf (1.20.1-5.1build3) over (1.20.1-5build1) ... 1113s Preparing to unpack .../25-libk5crypto3_1.20.1-5.1build3_armhf.deb ... 1113s Unpacking libk5crypto3:armhf (1.20.1-5.1build3) over (1.20.1-5build1) ... 1113s Preparing to unpack .../26-libcom-err2_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 1113s Unpacking libcom-err2:armhf (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 1114s Preparing to unpack .../27-libnghttp2-14_1.59.0-1build1_armhf.deb ... 1114s Unpacking libnghttp2-14:armhf (1.59.0-1build1) over (1.59.0-1) ... 1114s Preparing to unpack .../28-libssh-4_0.10.6-2build1_armhf.deb ... 1114s Unpacking libssh-4:armhf (0.10.6-2build1) over (0.10.6-2) ... 1114s Preparing to unpack .../29-libibverbs1_50.0-2build1_armhf.deb ... 1114s Unpacking libibverbs1:armhf (50.0-2build1) over (50.0-2) ... 1114s Preparing to unpack .../30-libfido2-1_1.14.0-1build1_armhf.deb ... 1114s Unpacking libfido2-1:armhf (1.14.0-1build1) over (1.14.0-1) ... 1114s Preparing to unpack .../31-coreutils_9.4-3ubuntu3_armhf.deb ... 1114s Unpacking coreutils (9.4-3ubuntu3) over (9.4-2ubuntu4) ... 1114s Setting up coreutils (9.4-3ubuntu3) ... 1115s (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 ... 78635 files and directories currently installed.) 1115s Preparing to unpack .../debianutils_5.17_armhf.deb ... 1115s Unpacking debianutils (5.17) over (5.16) ... 1115s Setting up debianutils (5.17) ... 1115s (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 ... 78635 files and directories currently installed.) 1115s Preparing to unpack .../util-linux_2.39.3-9ubuntu2_armhf.deb ... 1115s Unpacking util-linux (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1115s Setting up util-linux (2.39.3-9ubuntu2) ... 1118s fstrim.service is a disabled or a static unit not running, not starting it. 1118s (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 ... 78635 files and directories currently installed.) 1118s Preparing to unpack .../libc-bin_2.39-0ubuntu6_armhf.deb ... 1118s Unpacking libc-bin (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 1118s Setting up libc-bin (2.39-0ubuntu6) ... 1119s (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 ... 78635 files and directories currently installed.) 1119s Removing libatm1:armhf (1:2.5.1-5) ... 1119s (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 ... 78630 files and directories currently installed.) 1119s Preparing to unpack .../curl_8.5.0-2ubuntu7_armhf.deb ... 1119s Unpacking curl (8.5.0-2ubuntu7) over (8.5.0-2ubuntu2) ... 1119s (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 ... 78630 files and directories currently installed.) 1119s Removing libcurl4:armhf (8.5.0-2ubuntu2) ... 1119s Selecting previously unselected package libcurl4t64:armhf. 1119s (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 ... 78625 files and directories currently installed.) 1119s Preparing to unpack .../libcurl4t64_8.5.0-2ubuntu7_armhf.deb ... 1119s Unpacking libcurl4t64:armhf (8.5.0-2ubuntu7) ... 1119s Preparing to unpack .../libbpf1_1%3a1.3.0-2build1_armhf.deb ... 1119s Unpacking libbpf1:armhf (1:1.3.0-2build1) over (1:1.3.0-2) ... 1119s Preparing to unpack .../iproute2_6.1.0-1ubuntu5_armhf.deb ... 1119s Unpacking iproute2 (6.1.0-1ubuntu5) over (6.1.0-1ubuntu2) ... 1120s (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 ... 78631 files and directories currently installed.) 1120s Removing libelf1:armhf (0.190-1) ... 1120s Selecting previously unselected package libelf1t64:armhf. 1120s (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 ... 78626 files and directories currently installed.) 1120s Preparing to unpack .../libelf1t64_0.190-1.1build2_armhf.deb ... 1120s Unpacking libelf1t64:armhf (0.190-1.1build2) ... 1120s Preparing to unpack .../lsof_4.95.0-1build2_armhf.deb ... 1120s Unpacking lsof (4.95.0-1build2) over (4.95.0-1build1) ... 1120s Preparing to unpack .../libnsl2_1.3.0-3build2_armhf.deb ... 1120s Unpacking libnsl2:armhf (1.3.0-3build2) over (1.3.0-3) ... 1120s (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 ... 78631 files and directories currently installed.) 1120s Removing libtirpc3:armhf (1.3.4+ds-1build1) ... 1121s (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 ... 78625 files and directories currently installed.) 1121s Preparing to unpack .../0-libtirpc-common_1.3.4+ds-1.1_all.deb ... 1121s Unpacking libtirpc-common (1.3.4+ds-1.1) over (1.3.4+ds-1build1) ... 1121s Selecting previously unselected package libtirpc3t64:armhf. 1121s Preparing to unpack .../1-libtirpc3t64_1.3.4+ds-1.1_armhf.deb ... 1121s Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3 to /lib/arm-linux-gnueabihf/libtirpc.so.3.usr-is-merged by libtirpc3t64' 1121s Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0 to /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' 1121s Unpacking libtirpc3t64:armhf (1.3.4+ds-1.1) ... 1121s Preparing to unpack .../2-libblockdev-utils3_3.1.0-1build1_armhf.deb ... 1121s Unpacking libblockdev-utils3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1121s Preparing to unpack .../3-libblockdev-fs3_3.1.0-1build1_armhf.deb ... 1121s Unpacking libblockdev-fs3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1121s Preparing to unpack .../4-logsave_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 1121s Unpacking logsave (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 1121s Preparing to unpack .../5-ubuntu-minimal_1.536build1_armhf.deb ... 1121s Unpacking ubuntu-minimal (1.536build1) over (1.536) ... 1121s Preparing to unpack .../6-initramfs-tools_0.142ubuntu22_all.deb ... 1121s Unpacking initramfs-tools (0.142ubuntu22) over (0.142ubuntu20) ... 1121s Preparing to unpack .../7-initramfs-tools-core_0.142ubuntu22_all.deb ... 1121s Unpacking initramfs-tools-core (0.142ubuntu22) over (0.142ubuntu20) ... 1122s Preparing to unpack .../8-e2fsprogs-l10n_1.47.0-2.4~exp1ubuntu2_all.deb ... 1122s Unpacking e2fsprogs-l10n (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 1122s dpkg: libext2fs2:armhf: dependency problems, but removing anyway as you requested: 1122s e2fsprogs depends on libext2fs2 (= 1.47.0-2ubuntu1). 1122s btrfs-progs depends on libext2fs2 (>= 1.42). 1122s 1122s (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 ... 78637 files and directories currently installed.) 1122s Removing libext2fs2:armhf (1.47.0-2ubuntu1) ... 1122s Selecting previously unselected package libext2fs2t64:armhf. 1122s (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 ... 78630 files and directories currently installed.) 1122s Preparing to unpack .../libext2fs2t64_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 1122s Adding 'diversion of /lib/arm-linux-gnueabihf/libe2p.so.2 to /lib/arm-linux-gnueabihf/libe2p.so.2.usr-is-merged by libext2fs2t64' 1122s Adding 'diversion of /lib/arm-linux-gnueabihf/libe2p.so.2.3 to /lib/arm-linux-gnueabihf/libe2p.so.2.3.usr-is-merged by libext2fs2t64' 1122s Adding 'diversion of /lib/arm-linux-gnueabihf/libext2fs.so.2 to /lib/arm-linux-gnueabihf/libext2fs.so.2.usr-is-merged by libext2fs2t64' 1122s Adding 'diversion of /lib/arm-linux-gnueabihf/libext2fs.so.2.4 to /lib/arm-linux-gnueabihf/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' 1122s Unpacking libext2fs2t64:armhf (1.47.0-2.4~exp1ubuntu2) ... 1122s Setting up libcom-err2:armhf (1.47.0-2.4~exp1ubuntu2) ... 1122s Setting up libext2fs2t64:armhf (1.47.0-2.4~exp1ubuntu2) ... 1122s (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 ... 78646 files and directories currently installed.) 1122s Preparing to unpack .../00-e2fsprogs_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 1122s Unpacking e2fsprogs (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 1123s Preparing to unpack .../01-btrfs-progs_6.6.3-1.1build1_armhf.deb ... 1123s Unpacking btrfs-progs (6.6.3-1.1build1) over (6.6.3-1.1) ... 1123s Preparing to unpack .../02-dhcpcd-base_1%3a10.0.6-1ubuntu2_armhf.deb ... 1123s Unpacking dhcpcd-base (1:10.0.6-1ubuntu2) over (1:10.0.6-1ubuntu1) ... 1123s Preparing to unpack .../03-eject_2.39.3-9ubuntu2_armhf.deb ... 1123s Unpacking eject (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1123s Preparing to unpack .../04-locales_2.39-0ubuntu6_all.deb ... 1123s Unpacking locales (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 1124s Selecting previously unselected package libnetplan1:armhf. 1124s Preparing to unpack .../05-libnetplan1_1.0-1_armhf.deb ... 1124s Unpacking libnetplan1:armhf (1.0-1) ... 1124s Preparing to unpack .../06-python3-netplan_1.0-1_armhf.deb ... 1124s Unpacking python3-netplan (1.0-1) over (0.107.1-3) ... 1124s Preparing to unpack .../07-netplan-generator_1.0-1_armhf.deb ... 1124s Adding 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 1124s Unpacking netplan-generator (1.0-1) over (0.107.1-3) ... 1124s Preparing to unpack .../08-python3-dbus_1.3.2-5build2_armhf.deb ... 1125s Unpacking python3-dbus (1.3.2-5build2) over (1.3.2-5build1) ... 1125s Preparing to unpack .../09-netplan.io_1.0-1_armhf.deb ... 1125s Unpacking netplan.io (1.0-1) over (0.107.1-3) ... 1125s Preparing to unpack .../10-vim-tiny_2%3a9.1.0016-1ubuntu5_armhf.deb ... 1125s Unpacking vim-tiny (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 1125s Preparing to unpack .../11-vim-common_2%3a9.1.0016-1ubuntu5_all.deb ... 1125s Unpacking vim-common (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 1125s Preparing to unpack .../12-initramfs-tools-bin_0.142ubuntu22_armhf.deb ... 1125s Unpacking initramfs-tools-bin (0.142ubuntu22) over (0.142ubuntu20) ... 1125s (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 ... 78650 files and directories currently installed.) 1125s Removing libreiserfscore0 (1:3.6.27-7) ... 1126s Selecting previously unselected package libreiserfscore0t64. 1126s (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 ... 78645 files and directories currently installed.) 1126s Preparing to unpack .../libreiserfscore0t64_1%3a3.6.27-7.1_armhf.deb ... 1126s Unpacking libreiserfscore0t64 (1:3.6.27-7.1) ... 1126s Preparing to unpack .../file_1%3a5.45-3_armhf.deb ... 1126s Unpacking file (1:5.45-3) over (1:5.45-2) ... 1126s (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 ... 78651 files and directories currently installed.) 1126s Removing libmagic1:armhf (1:5.45-2) ... 1126s (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 ... 78641 files and directories currently installed.) 1126s Preparing to unpack .../libmagic-mgc_1%3a5.45-3_armhf.deb ... 1126s Unpacking libmagic-mgc (1:5.45-3) over (1:5.45-2) ... 1126s Selecting previously unselected package libmagic1t64:armhf. 1126s Preparing to unpack .../libmagic1t64_1%3a5.45-3_armhf.deb ... 1126s Unpacking libmagic1t64:armhf (1:5.45-3) ... 1127s (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 ... 78652 files and directories currently installed.) 1127s Removing libnetplan0:armhf (0.107.1-3) ... 1127s (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 ... 78648 files and directories currently installed.) 1127s Preparing to unpack .../libblockdev-nvme3_3.1.0-1build1_armhf.deb ... 1127s Unpacking libblockdev-nvme3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1127s (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 ... 78648 files and directories currently installed.) 1127s Removing libnvme1 (1.8-2) ... 1127s Selecting previously unselected package libnvme1t64. 1127s (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 ... 78641 files and directories currently installed.) 1127s Preparing to unpack .../libnvme1t64_1.8-3_armhf.deb ... 1127s Unpacking libnvme1t64 (1.8-3) ... 1127s Preparing to unpack .../libplymouth5_24.004.60-1ubuntu5_armhf.deb ... 1127s Unpacking libplymouth5:armhf (24.004.60-1ubuntu5) over (24.004.60-1ubuntu3) ... 1128s (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 ... 78649 files and directories currently installed.) 1128s Removing libpng16-16:armhf (1.6.43-1) ... 1128s Selecting previously unselected package libpng16-16t64:armhf. 1128s (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 ... 78639 files and directories currently installed.) 1128s Preparing to unpack .../libpng16-16t64_1.6.43-3_armhf.deb ... 1128s Unpacking libpng16-16t64:armhf (1.6.43-3) ... 1128s (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 ... 78650 files and directories currently installed.) 1128s Removing libudisks2-0:armhf (2.10.1-1ubuntu2) ... 1128s (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 ... 78645 files and directories currently installed.) 1128s Preparing to unpack .../bind9-host_1%3a9.18.24-0ubuntu3_armhf.deb ... 1128s Unpacking bind9-host (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 1128s Preparing to unpack .../bind9-dnsutils_1%3a9.18.24-0ubuntu3_armhf.deb ... 1128s Unpacking bind9-dnsutils (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 1129s Preparing to unpack .../bind9-libs_1%3a9.18.24-0ubuntu3_armhf.deb ... 1129s Unpacking bind9-libs:armhf (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 1129s (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 ... 78645 files and directories currently installed.) 1129s Removing libuv1:armhf (1.48.0-1) ... 1129s Selecting previously unselected package libuv1t64:armhf. 1129s (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 ... 78640 files and directories currently installed.) 1129s Preparing to unpack .../libuv1t64_1.48.0-1.1_armhf.deb ... 1129s Unpacking libuv1t64:armhf (1.48.0-1.1) ... 1129s (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 ... 78646 files and directories currently installed.) 1129s Removing python3-distutils (3.11.5-1) ... 1129s (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 ... 78591 files and directories currently installed.) 1130s Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu2_armhf.deb ... 1130s Unpacking uuid-runtime (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 1130s Preparing to unpack .../libdebconfclient0_0.271ubuntu2_armhf.deb ... 1130s Unpacking libdebconfclient0:armhf (0.271ubuntu2) over (0.271ubuntu1) ... 1130s Setting up libdebconfclient0:armhf (0.271ubuntu2) ... 1130s (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 ... 78591 files and directories currently installed.) 1130s Preparing to unpack .../libsemanage-common_3.5-1build4_all.deb ... 1130s Unpacking libsemanage-common (3.5-1build4) over (3.5-1build2) ... 1130s Setting up libsemanage-common (3.5-1build4) ... 1130s (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 ... 78591 files and directories currently installed.) 1130s Preparing to unpack .../libsemanage2_3.5-1build4_armhf.deb ... 1130s Unpacking libsemanage2:armhf (3.5-1build4) over (3.5-1build2) ... 1130s Setting up libsemanage2:armhf (3.5-1build4) ... 1130s (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 ... 78591 files and directories currently installed.) 1130s Preparing to unpack .../install-info_7.1-3build1_armhf.deb ... 1131s Unpacking install-info (7.1-3build1) over (7.1-3) ... 1131s Setting up install-info (7.1-3build1) ... 1131s (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 ... 78591 files and directories currently installed.) 1131s Preparing to unpack .../00-gcc-13-base_13.2.0-19ubuntu1_armhf.deb ... 1131s Unpacking gcc-13-base:armhf (13.2.0-19ubuntu1) over (13.2.0-17ubuntu2) ... 1131s Preparing to unpack .../01-libss2_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 1131s Unpacking libss2:armhf (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 1131s Preparing to unpack .../02-dmsetup_2%3a1.02.185-3ubuntu2_armhf.deb ... 1131s Unpacking dmsetup (2:1.02.185-3ubuntu2) over (2:1.02.185-3ubuntu1) ... 1131s Preparing to unpack .../03-gir1.2-girepository-2.0_1.79.1-1ubuntu6_armhf.deb ... 1131s Unpacking gir1.2-girepository-2.0:armhf (1.79.1-1ubuntu6) over (1.79.1-1) ... 1131s Preparing to unpack .../04-gir1.2-glib-2.0_2.79.3-3ubuntu5_armhf.deb ... 1131s Unpacking gir1.2-glib-2.0:armhf (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 1131s Preparing to unpack .../05-libgirepository-1.0-1_1.79.1-1ubuntu6_armhf.deb ... 1131s Unpacking libgirepository-1.0-1:armhf (1.79.1-1ubuntu6) over (1.79.1-1) ... 1132s Preparing to unpack .../06-krb5-locales_1.20.1-5.1build3_all.deb ... 1132s Unpacking krb5-locales (1.20.1-5.1build3) over (1.20.1-5build1) ... 1132s Preparing to unpack .../07-libbsd0_0.12.1-1_armhf.deb ... 1132s Unpacking libbsd0:armhf (0.12.1-1) over (0.11.8-1) ... 1132s Preparing to unpack .../08-libglib2.0-data_2.79.3-3ubuntu5_all.deb ... 1132s Unpacking libglib2.0-data (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 1132s Preparing to unpack .../09-libslang2_2.3.3-3build1_armhf.deb ... 1132s Unpacking libslang2:armhf (2.3.3-3build1) over (2.3.3-3) ... 1132s Preparing to unpack .../10-python3-gi_3.47.0-3build1_armhf.deb ... 1132s Unpacking python3-gi (3.47.0-3build1) over (3.47.0-3) ... 1132s Selecting previously unselected package xdg-user-dirs. 1132s Preparing to unpack .../11-xdg-user-dirs_0.18-1_armhf.deb ... 1132s Unpacking xdg-user-dirs (0.18-1) ... 1133s Preparing to unpack .../12-xxd_2%3a9.1.0016-1ubuntu5_armhf.deb ... 1133s Unpacking xxd (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 1133s Preparing to unpack .../13-apparmor_4.0.0-beta3-0ubuntu2_armhf.deb ... 1134s Unpacking apparmor (4.0.0-beta3-0ubuntu2) over (4.0.0~alpha4-0ubuntu1) ... 1136s Preparing to unpack .../14-ftp_20230507-2build1_all.deb ... 1136s Unpacking ftp (20230507-2build1) over (20230507-2) ... 1136s Preparing to unpack .../15-inetutils-telnet_2%3a2.5-3ubuntu3_armhf.deb ... 1136s Unpacking inetutils-telnet (2:2.5-3ubuntu3) over (2:2.5-3ubuntu1) ... 1137s Preparing to unpack .../16-info_7.1-3build1_armhf.deb ... 1137s Unpacking info (7.1-3build1) over (7.1-3) ... 1137s Preparing to unpack .../17-libxmuu1_2%3a1.1.3-3build1_armhf.deb ... 1137s Unpacking libxmuu1:armhf (2:1.1.3-3build1) over (2:1.1.3-3) ... 1137s Preparing to unpack .../18-lshw_02.19.git.2021.06.19.996aaad9c7-2build2_armhf.deb ... 1137s Unpacking lshw (02.19.git.2021.06.19.996aaad9c7-2build2) over (02.19.git.2021.06.19.996aaad9c7-2build1) ... 1137s Preparing to unpack .../19-mtr-tiny_0.95-1.1build1_armhf.deb ... 1137s Unpacking mtr-tiny (0.95-1.1build1) over (0.95-1.1) ... 1137s Preparing to unpack .../20-plymouth-theme-ubuntu-text_24.004.60-1ubuntu5_armhf.deb ... 1137s Unpacking plymouth-theme-ubuntu-text (24.004.60-1ubuntu5) over (24.004.60-1ubuntu3) ... 1137s Preparing to unpack .../21-plymouth_24.004.60-1ubuntu5_armhf.deb ... 1137s Unpacking plymouth (24.004.60-1ubuntu5) over (24.004.60-1ubuntu3) ... 1137s Preparing to unpack .../22-psmisc_23.7-1_armhf.deb ... 1137s Unpacking psmisc (23.7-1) over (23.6-2) ... 1137s Preparing to unpack .../23-telnet_0.17+2.5-3ubuntu3_all.deb ... 1137s Unpacking telnet (0.17+2.5-3ubuntu3) over (0.17+2.5-3ubuntu1) ... 1137s Preparing to unpack .../24-xz-utils_5.6.0-0.2_armhf.deb ... 1137s Unpacking xz-utils (5.6.0-0.2) over (5.4.5-0.3) ... 1137s Preparing to unpack .../25-ubuntu-standard_1.536build1_armhf.deb ... 1137s Unpacking ubuntu-standard (1.536build1) over (1.536) ... 1138s Preparing to unpack .../26-usb.ids_2024.03.18-1_all.deb ... 1138s Unpacking usb.ids (2024.03.18-1) over (2024.01.30-1) ... 1138s Preparing to unpack .../27-libctf-nobfd0_2.42-4ubuntu1_armhf.deb ... 1138s Unpacking libctf-nobfd0:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 1138s Preparing to unpack .../28-libctf0_2.42-4ubuntu1_armhf.deb ... 1138s Unpacking libctf0:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 1138s Preparing to unpack .../29-binutils-arm-linux-gnueabihf_2.42-4ubuntu1_armhf.deb ... 1138s Unpacking binutils-arm-linux-gnueabihf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 1138s Preparing to unpack .../30-libbinutils_2.42-4ubuntu1_armhf.deb ... 1138s Unpacking libbinutils:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 1138s Preparing to unpack .../31-binutils_2.42-4ubuntu1_armhf.deb ... 1138s Unpacking binutils (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 1139s Preparing to unpack .../32-binutils-common_2.42-4ubuntu1_armhf.deb ... 1139s Unpacking binutils-common:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 1139s Preparing to unpack .../33-libsframe1_2.42-4ubuntu1_armhf.deb ... 1139s Unpacking libsframe1:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 1139s Preparing to unpack .../34-bolt_0.9.6-2build1_armhf.deb ... 1139s Unpacking bolt (0.9.6-2build1) over (0.9.6-2) ... 1139s Preparing to unpack .../35-cryptsetup-bin_2%3a2.7.0-1ubuntu2_armhf.deb ... 1139s Unpacking cryptsetup-bin (2:2.7.0-1ubuntu2) over (2:2.7.0-1ubuntu1) ... 1139s Preparing to unpack .../36-dpkg-dev_1.22.6ubuntu4_all.deb ... 1139s Unpacking dpkg-dev (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 1139s Preparing to unpack .../37-libdpkg-perl_1.22.6ubuntu4_all.deb ... 1139s Unpacking libdpkg-perl (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 1140s Preparing to unpack .../38-gnupg-l10n_2.4.4-2ubuntu15_all.deb ... 1140s Unpacking gnupg-l10n (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 1140s Preparing to unpack .../39-ibverbs-providers_50.0-2build1_armhf.deb ... 1140s Unpacking ibverbs-providers:armhf (50.0-2build1) over (50.0-2) ... 1140s Preparing to unpack .../40-jq_1.7.1-3_armhf.deb ... 1140s Unpacking jq (1.7.1-3) over (1.7.1-2) ... 1140s Preparing to unpack .../41-libjq1_1.7.1-3_armhf.deb ... 1140s Unpacking libjq1:armhf (1.7.1-3) over (1.7.1-2) ... 1140s Selecting previously unselected package libatm1t64:armhf. 1140s Preparing to unpack .../42-libatm1t64_1%3a2.5.1-5.1_armhf.deb ... 1140s Unpacking libatm1t64:armhf (1:2.5.1-5.1) ... 1140s Preparing to unpack .../43-libblockdev-crypto3_3.1.0-1build1_armhf.deb ... 1140s Unpacking libblockdev-crypto3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1140s Preparing to unpack .../44-libblockdev-loop3_3.1.0-1build1_armhf.deb ... 1141s Unpacking libblockdev-loop3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1141s Preparing to unpack .../45-libblockdev-mdraid3_3.1.0-1build1_armhf.deb ... 1141s Unpacking libblockdev-mdraid3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1141s Preparing to unpack .../46-libblockdev-part3_3.1.0-1build1_armhf.deb ... 1141s Unpacking libblockdev-part3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1141s Preparing to unpack .../47-libblockdev-swap3_3.1.0-1build1_armhf.deb ... 1141s Unpacking libblockdev-swap3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1141s Preparing to unpack .../48-libblockdev3_3.1.0-1build1_armhf.deb ... 1141s Unpacking libblockdev3:armhf (3.1.0-1build1) over (3.1.0-1) ... 1141s Preparing to unpack .../49-libevent-core-2.1-7_2.1.12-stable-9build1_armhf.deb ... 1141s Unpacking libevent-core-2.1-7:armhf (2.1.12-stable-9build1) over (2.1.12-stable-9) ... 1141s Preparing to unpack .../50-libftdi1-2_1.5-6build4_armhf.deb ... 1141s Unpacking libftdi1-2:armhf (1.5-6build4) over (1.5-6build3) ... 1141s Preparing to unpack .../51-libldap-common_2.6.7+dfsg-1~exp1ubuntu6_all.deb ... 1141s Unpacking libldap-common (2.6.7+dfsg-1~exp1ubuntu6) over (2.6.7+dfsg-1~exp1ubuntu1) ... 1141s Preparing to unpack .../52-libsasl2-modules_2.1.28+dfsg1-4ubuntu4_armhf.deb ... 1141s Unpacking libsasl2-modules:armhf (2.1.28+dfsg1-4ubuntu4) over (2.1.28+dfsg1-4) ... 1141s Preparing to unpack .../53-python3-lib2to3_3.12.2-3ubuntu2_all.deb ... 1142s Unpacking python3-lib2to3 (3.12.2-3ubuntu2) over (3.11.5-1) ... 1142s Preparing to unpack .../54-python3-markupsafe_2.1.5-1build1_armhf.deb ... 1142s Unpacking python3-markupsafe (2.1.5-1build1) over (2.1.5-1) ... 1142s Preparing to unpack .../55-python3-pyrsistent_0.20.0-1build1_armhf.deb ... 1142s Unpacking python3-pyrsistent:armhf (0.20.0-1build1) over (0.20.0-1) ... 1142s Preparing to unpack .../56-python3-typing-extensions_4.10.0-1_all.deb ... 1143s Unpacking python3-typing-extensions (4.10.0-1) over (4.9.0-1) ... 1143s Preparing to unpack .../57-kpartx_0.9.4-5ubuntu5_armhf.deb ... 1143s Unpacking kpartx (0.9.4-5ubuntu5) over (0.9.4-5ubuntu3) ... 1143s Setting up pinentry-curses (1.2.1-3ubuntu4) ... 1143s Setting up libtext-iconv-perl:armhf (1.7-8build2) ... 1143s Setting up libtext-charwidth-perl:armhf (0.04-11build2) ... 1143s Setting up libibverbs1:armhf (50.0-2build1) ... 1143s Setting up systemd-sysv (255.4-1ubuntu5) ... 1143s Setting up libapparmor1:armhf (4.0.0-beta3-0ubuntu2) ... 1143s Setting up libatm1t64:armhf (1:2.5.1-5.1) ... 1143s Setting up libgdbm6t64:armhf (1.23-5.1) ... 1143s Setting up bsdextrautils (2.39.3-9ubuntu2) ... 1143s Setting up libgdbm-compat4t64:armhf (1.23-5.1) ... 1143s Setting up xdg-user-dirs (0.18-1) ... 1143s Setting up ibverbs-providers:armhf (50.0-2build1) ... 1143s Setting up linux-headers-6.8.0-20 (6.8.0-20.20) ... 1143s Setting up libmagic-mgc (1:5.45-3) ... 1143s Setting up gawk (1:5.2.1-2build2) ... 1143s Setting up psmisc (23.7-1) ... 1143s Setting up libjq1:armhf (1.7.1-3) ... 1143s Setting up libtirpc-common (1.3.4+ds-1.1) ... 1143s Setting up libbrotli1:armhf (1.1.0-2build1) ... 1143s Setting up libsqlite3-0:armhf (3.45.1-1ubuntu1) ... 1143s Setting up libsasl2-modules:armhf (2.1.28+dfsg1-4ubuntu4) ... 1143s Setting up libuv1t64:armhf (1.48.0-1.1) ... 1143s Setting up libmagic1t64:armhf (1:5.45-3) ... 1143s Setting up binutils-common:armhf (2.42-4ubuntu1) ... 1143s Setting up libpsl5t64:armhf (0.21.2-1.1) ... 1143s Setting up libnghttp2-14:armhf (1.59.0-1build1) ... 1143s Setting up libreiserfscore0t64 (1:3.6.27-7.1) ... 1143s Setting up libctf-nobfd0:armhf (2.42-4ubuntu1) ... 1143s Setting up libnss-systemd:armhf (255.4-1ubuntu5) ... 1143s Setting up krb5-locales (1.20.1-5.1build3) ... 1143s Setting up file (1:5.45-3) ... 1143s Setting up lshw (02.19.git.2021.06.19.996aaad9c7-2build2) ... 1143s Setting up locales (2.39-0ubuntu6) ... 1145s Generating locales (this might take a while)... 1153s en_US.UTF-8... done 1153s Generation complete. 1153s Setting up libldap-common (2.6.7+dfsg-1~exp1ubuntu6) ... 1153s Setting up xxd (2:9.1.0016-1ubuntu5) ... 1153s Setting up libsframe1:armhf (2.42-4ubuntu1) ... 1153s Setting up libelf1t64:armhf (0.190-1.1build2) ... 1153s Setting up libkrb5support0:armhf (1.20.1-5.1build3) ... 1153s Setting up linux-headers-6.8.0-20-generic (6.8.0-20.20) ... 1153s Setting up eject (2.39.3-9ubuntu2) ... 1153s Setting up apparmor (4.0.0-beta3-0ubuntu2) ... 1153s Installing new version of config file /etc/apparmor.d/abstractions/authentication ... 1153s Installing new version of config file /etc/apparmor.d/abstractions/crypto ... 1153s Installing new version of config file /etc/apparmor.d/abstractions/kde-open5 ... 1153s Installing new version of config file /etc/apparmor.d/abstractions/openssl ... 1153s Installing new version of config file /etc/apparmor.d/code ... 1153s Installing new version of config file /etc/apparmor.d/firefox ... 1153s apparmor_parser: Unable to replace "lsb_release". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1153s 1154s apparmor_parser: Unable to replace "kmod". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1154s 1154s apparmor_parser: Unable to replace "nvidia_modprobe". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1154s 1156s sysctl: cannot stat /proc/sys/kernel/apparmor_restrict_unprivileged_userns: No such file or directory 1156s Reloading AppArmor profiles 1156s /sbin/apparmor_parser: Unable to replace "1password". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "Discord". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "MongoDB Compass". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "QtWebEngineProcess". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "brave". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "busybox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "buildah". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "cam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "ch-run". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "ch-checkns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "chrome". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "vscode". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "crun". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "devhelp". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "element-desktop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "epiphany". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "evolution". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "firefox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "flatpak". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "geary". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "github-desktop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "ipa_verify". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "goldendict". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "kchmviewer". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "keybase". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lc-compliance". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "libcamerify". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "linux-sandbox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "loupe". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lxc-attach". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lxc-destroy". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lxc-create". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lxc-unshare". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lxc-execute". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lxc-usernsexec". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "mmdebstrap". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "msedge". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "obsidian". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "nautilus". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "opam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lxc-stop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "notepadqq". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "podman". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "opera". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "qcam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "pageedit". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "privacybrowser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "qmapshack". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "polypane". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "rpm". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "qutebrowser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "rootlesskit". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-abort". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "QtWebEngineProcess". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "plasmashell". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "lsb_release". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-adduser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "runc". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "rssguard". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-apt". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-checkpackages". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-clean". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-createchroot". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-update". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-shell". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-destroychroot". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-upgrade". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "scide". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-unhold". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "slack". /sbin/apparmor_parser: Unable to replace "signal-desktop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "stress-ng". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "slirp4netns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-distupgrade". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "systemd-coredump". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "sbuild-hold". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "trinity". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "thunderbird". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "toybox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "steam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "surfshark". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "tuxedo-control-center". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "userbindmount". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "tup". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "unprivileged_userns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "uwsgi-core". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "kmod". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "nvidia_modprobe". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "virtiofsd". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "vdens". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "wpcom". /sbin/apparmor_parser: Unable to replace "vivaldi-bin". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "vpnns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "unix-chkpwd". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "rsyslogd". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "/usr/bin/man". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1156s /sbin/apparmor_parser: Unable to replace "ubuntu_pro_apt_news". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1156s 1157s /sbin/apparmor_parser: Unable to replace "tcpdump". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1157s 1157s Error: At least one profile failed to load 1157s Setting up libglib2.0-0t64:armhf (2.79.3-3ubuntu5) ... 1157s No schema files found: doing nothing. 1157s Setting up libglib2.0-data (2.79.3-3ubuntu5) ... 1157s Setting up vim-common (2:9.1.0016-1ubuntu5) ... 1157s Setting up gcc-13-base:armhf (13.2.0-19ubuntu1) ... 1157s Setting up libqrtr-glib0:armhf (1.2.2-1ubuntu3) ... 1157s Setting up libslang2:armhf (2.3.3-3build1) ... 1157s Setting up libnvme1t64 (1.8-3) ... 1157s Setting up mtr-tiny (0.95-1.1build1) ... 1157s Setting up gnupg-l10n (2.4.4-2ubuntu15) ... 1157s Setting up librtmp1:armhf (2.4+20151223.gitfa8646d.1-2build6) ... 1157s Setting up libdbus-1-3:armhf (1.14.10-4ubuntu2) ... 1157s Setting up xz-utils (5.6.0-0.2) ... 1157s Setting up perl-modules-5.38 (5.38.2-3.2) ... 1157s Setting up libpng16-16t64:armhf (1.6.43-3) ... 1157s Setting up systemd-timesyncd (255.4-1ubuntu5) ... 1158s Setting up libevent-core-2.1-7:armhf (2.1.12-stable-9build1) ... 1158s Setting up libss2:armhf (1.47.0-2.4~exp1ubuntu2) ... 1158s Setting up usb.ids (2024.03.18-1) ... 1158s Setting up sudo (1.9.15p5-3ubuntu3) ... 1158s Setting up dhcpcd-base (1:10.0.6-1ubuntu2) ... 1158s Setting up gir1.2-glib-2.0:armhf (2.79.3-3ubuntu5) ... 1158s Setting up libk5crypto3:armhf (1.20.1-5.1build3) ... 1158s Setting up logsave (1.47.0-2.4~exp1ubuntu2) ... 1158s Setting up libfdisk1:armhf (2.39.3-9ubuntu2) ... 1158s Setting up libdb5.3t64:armhf (5.3.28+dfsg2-5build1) ... 1158s Setting up libdevmapper1.02.1:armhf (2:1.02.185-3ubuntu2) ... 1158s Setting up python-apt-common (2.7.6build1) ... 1158s Setting up mount (2.39.3-9ubuntu2) ... 1158s Setting up dmsetup (2:1.02.185-3ubuntu2) ... 1158s Setting up uuid-runtime (2.39.3-9ubuntu2) ... 1161s uuidd.service is a disabled or a static unit not running, not starting it. 1161s Setting up libmm-glib0:armhf (1.23.4-0ubuntu1) ... 1161s Setting up groff-base (1.23.0-3build1) ... 1161s Setting up libplymouth5:armhf (24.004.60-1ubuntu5) ... 1161s Setting up dbus-session-bus-common (1.14.10-4ubuntu2) ... 1161s Setting up jq (1.7.1-3) ... 1161s Setting up gpgconf (2.4.4-2ubuntu15) ... 1161s Setting up libpcap0.8t64:armhf (1.10.4-4.1ubuntu1) ... 1161s Setting up libcryptsetup12:armhf (2:2.7.0-1ubuntu2) ... 1161s Setting up libgirepository-1.0-1:armhf (1.79.1-1ubuntu6) ... 1161s Setting up libjson-glib-1.0-common (1.8.0-2build1) ... 1161s Setting up libkrb5-3:armhf (1.20.1-5.1build3) ... 1161s Setting up libpython3.11-minimal:armhf (3.11.8-1build4) ... 1161s Setting up libusb-1.0-0:armhf (2:1.0.27-1) ... 1161s Setting up libperl5.38t64:armhf (5.38.2-3.2) ... 1161s Setting up tnftp (20230507-2build1) ... 1161s Setting up libbinutils:armhf (2.42-4ubuntu1) ... 1161s Setting up dbus-system-bus-common (1.14.10-4ubuntu2) ... 1161s Setting up libfido2-1:armhf (1.14.0-1build1) ... 1161s Setting up openssl (3.0.13-0ubuntu2) ... 1161s Setting up libbsd0:armhf (0.12.1-1) ... 1161s Setting up readline-common (8.2-3.1) ... 1161s Setting up libxml2:armhf (2.9.14+dfsg-1.3ubuntu2) ... 1161s Setting up libxmuu1:armhf (2:1.1.3-3build1) ... 1161s Setting up dbus-bin (1.14.10-4ubuntu2) ... 1161s Setting up info (7.1-3build1) ... 1161s Setting up liblocale-gettext-perl (1.07-6ubuntu3) ... 1161s Setting up gpg (2.4.4-2ubuntu15) ... 1161s Setting up libgudev-1.0-0:armhf (1:238-3ubuntu2) ... 1161s Setting up libpolkit-gobject-1-0:armhf (124-1ubuntu1) ... 1161s Setting up libbpf1:armhf (1:1.3.0-2build1) ... 1161s Setting up libmbim-glib4:armhf (1.31.2-0ubuntu2) ... 1161s Setting up rsync (3.2.7-1build1) ... 1163s rsync.service is a disabled or a static unit not running, not starting it. 1163s Setting up libkmod2:armhf (31+20240202-2ubuntu4) ... 1163s Setting up bolt (0.9.6-2build1) ... 1164s bolt.service is a disabled or a static unit not running, not starting it. 1164s Setting up gnupg-utils (2.4.4-2ubuntu15) ... 1164s Setting up initramfs-tools-bin (0.142ubuntu22) ... 1164s Setting up libctf0:armhf (2.42-4ubuntu1) ... 1164s Setting up cryptsetup-bin (2:2.7.0-1ubuntu2) ... 1164s Setting up python3.11-minimal (3.11.8-1build4) ... 1167s Setting up tcpdump (4.99.4-3ubuntu2) ... 1168s apparmor_parser: Unable to replace "tcpdump". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1168s 1168s Setting up apt-utils (2.7.13ubuntu1) ... 1168s Setting up gpg-agent (2.4.4-2ubuntu15) ... 1170s Setting up libpython3.12-stdlib:armhf (3.12.2-4build3) ... 1170s Setting up wget (1.21.4-1ubuntu2) ... 1170s Setting up libxmlb2:armhf (0.3.15-1build1) ... 1170s Setting up btrfs-progs (6.6.3-1.1build1) ... 1170s Setting up libpython3.11-stdlib:armhf (3.11.8-1build4) ... 1170s Setting up python3.12 (3.12.2-4build3) ... 1174s Setting up gpgsm (2.4.4-2ubuntu15) ... 1174s Setting up inetutils-telnet (2:2.5-3ubuntu3) ... 1174s Setting up e2fsprogs (1.47.0-2.4~exp1ubuntu2) ... 1174s update-initramfs: deferring update (trigger activated) 1176s e2scrub_all.service is a disabled or a static unit not running, not starting it. 1176s Setting up libparted2t64:armhf (3.6-3.1build2) ... 1176s Setting up linux-headers-generic (6.8.0-20.20+1) ... 1176s Setting up dbus-daemon (1.14.10-4ubuntu2) ... 1177s Setting up libmbim-proxy (1.31.2-0ubuntu2) ... 1177s Setting up vim-tiny (2:9.1.0016-1ubuntu5) ... 1177s Setting up kmod (31+20240202-2ubuntu4) ... 1177s Setting up libnetplan1:armhf (1.0-1) ... 1177s Setting up man-db (2.12.0-3build4) ... 1178s Updating database of manual pages ... 1181s apparmor_parser: Unable to replace "/usr/bin/man". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1181s 1183s man-db.service is a disabled or a static unit not running, not starting it. 1183s Setting up fdisk (2.39.3-9ubuntu2) ... 1183s Setting up libjson-glib-1.0-0:armhf (1.8.0-2build1) ... 1183s Setting up libsasl2-modules-db:armhf (2.1.28+dfsg1-4ubuntu4) ... 1183s Setting up libftdi1-2:armhf (1.5-6build4) ... 1183s Setting up perl (5.38.2-3.2) ... 1183s Setting up gir1.2-girepository-2.0:armhf (1.79.1-1ubuntu6) ... 1183s Setting up dbus (1.14.10-4ubuntu2) ... 1183s A reboot is required to replace the running dbus-daemon. 1183s Please reboot the system when convenient. 1184s Setting up shared-mime-info (2.4-1build1) ... 1185s Setting up libblockdev-utils3:armhf (3.1.0-1build1) ... 1185s Setting up libgssapi-krb5-2:armhf (1.20.1-5.1build3) ... 1185s Setting up udev (255.4-1ubuntu5) ... 1187s Setting up ftp (20230507-2build1) ... 1187s Setting up keyboxd (2.4.4-2ubuntu15) ... 1188s Setting up libdpkg-perl (1.22.6ubuntu4) ... 1188s Setting up libsasl2-2:armhf (2.1.28+dfsg1-4ubuntu4) ... 1188s Setting up libssh-4:armhf (0.10.6-2build1) ... 1188s Setting up libblockdev-nvme3:armhf (3.1.0-1build1) ... 1188s Setting up libblockdev-fs3:armhf (3.1.0-1build1) ... 1188s Setting up kpartx (0.9.4-5ubuntu5) ... 1188s Setting up libpam-systemd:armhf (255.4-1ubuntu5) ... 1188s Setting up libpolkit-agent-1-0:armhf (124-1ubuntu1) ... 1188s Setting up libgpgme11t64:armhf (1.18.0-4.1ubuntu3) ... 1188s Setting up netplan-generator (1.0-1) ... 1188s Removing 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 1188s Setting up initramfs-tools-core (0.142ubuntu22) ... 1188s Setting up binutils-arm-linux-gnueabihf (2.42-4ubuntu1) ... 1188s Setting up libarchive13t64:armhf (3.7.2-1.1ubuntu1) ... 1188s Setting up libldap2:armhf (2.6.7+dfsg-1~exp1ubuntu6) ... 1188s Setting up libpython3-stdlib:armhf (3.12.2-0ubuntu1) ... 1188s Setting up systemd-resolved (255.4-1ubuntu5) ... 1190s Setting up python3.11 (3.11.8-1build4) ... 1194s Setting up telnet (0.17+2.5-3ubuntu3) ... 1194s Setting up initramfs-tools (0.142ubuntu22) ... 1194s update-initramfs: deferring update (trigger activated) 1194s Setting up libblockdev-mdraid3:armhf (3.1.0-1build1) ... 1194s Setting up libcurl4t64:armhf (8.5.0-2ubuntu7) ... 1194s Setting up bind9-libs:armhf (1:9.18.24-0ubuntu3) ... 1194s Setting up libtirpc3t64:armhf (1.3.4+ds-1.1) ... 1194s Setting up e2fsprogs-l10n (1.47.0-2.4~exp1ubuntu2) ... 1194s Setting up libblockdev-swap3:armhf (3.1.0-1build1) ... 1194s Setting up plymouth (24.004.60-1ubuntu5) ... 1194s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 1194s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 1195s Setting up iproute2 (6.1.0-1ubuntu5) ... 1195s Setting up openssh-client (1:9.6p1-3ubuntu11) ... 1196s Setting up libgusb2:armhf (0.4.8-1build1) ... 1196s Setting up libblockdev-loop3:armhf (3.1.0-1build1) ... 1196s Setting up libcurl3t64-gnutls:armhf (8.5.0-2ubuntu7) ... 1196s Setting up parted (3.6-3.1build2) ... 1196s Setting up libqmi-glib5:armhf (1.35.2-0ubuntu1) ... 1196s Setting up python3 (3.12.2-0ubuntu1) ... 1197s Setting up binutils (2.42-4ubuntu1) ... 1197s Setting up python3-markupsafe (2.1.5-1build1) ... 1197s Setting up libblockdev3:armhf (3.1.0-1build1) ... 1197s Setting up libjcat1:armhf (0.2.0-2build2) ... 1197s Setting up dpkg-dev (1.22.6ubuntu4) ... 1197s Setting up libblockdev-part3:armhf (3.1.0-1build1) ... 1197s Setting up dirmngr (2.4.4-2ubuntu15) ... 1197s Setting up dbus-user-session (1.14.10-4ubuntu2) ... 1198s Setting up plymouth-theme-ubuntu-text (24.004.60-1ubuntu5) ... 1198s update-initramfs: deferring update (trigger activated) 1198s Setting up python3-cryptography (41.0.7-4build2) ... 1199s Setting up python3-gi (3.47.0-3build1) ... 1199s Setting up python3-typing-extensions (4.10.0-1) ... 1200s Setting up lsof (4.95.0-1build2) ... 1200s Setting up python3-pyrsistent:armhf (0.20.0-1build1) ... 1200s Setting up libnsl2:armhf (1.3.0-3build2) ... 1200s Setting up gnupg (2.4.4-2ubuntu15) ... 1200s Setting up python3-netplan (1.0-1) ... 1200s Setting up curl (8.5.0-2ubuntu7) ... 1200s Setting up libvolume-key1:armhf (0.3.12-7build1) ... 1200s Setting up bind9-host (1:9.18.24-0ubuntu3) ... 1200s Setting up python3-lib2to3 (3.12.2-3ubuntu2) ... 1201s Setting up python3-pkg-resources (68.1.2-2ubuntu1) ... 1202s Setting up openssh-sftp-server (1:9.6p1-3ubuntu11) ... 1202s Setting up python3-dbus (1.3.2-5build2) ... 1203s Setting up python3-setuptools (68.1.2-2ubuntu1) ... 1205s Setting up gpg-wks-client (2.4.4-2ubuntu15) ... 1205s Setting up openssh-server (1:9.6p1-3ubuntu11) ... 1205s Replacing config file /etc/ssh/sshd_config with new version 1209s Created symlink /etc/systemd/system/ssh.service.requires/ssh.socket → /usr/lib/systemd/system/ssh.socket. 1213s Setting up libblockdev-crypto3:armhf (3.1.0-1build1) ... 1213s Setting up python3-gdbm:armhf (3.12.2-3ubuntu2) ... 1213s Setting up python3-apt (2.7.6build1) ... 1213s Setting up libfwupd2:armhf (1.9.15-1) ... 1213s Setting up python3-yaml (6.0.1-2build1) ... 1214s Setting up libqmi-proxy (1.35.2-0ubuntu1) ... 1214s Setting up netplan.io (1.0-1) ... 1214s Setting up bind9-dnsutils (1:9.18.24-0ubuntu3) ... 1214s Setting up ubuntu-pro-client (31.2) ... 1214s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 1214s 1219s Setting up fwupd (1.9.15-1) ... 1220s fwupd-offline-update.service is a disabled or a static unit not running, not starting it. 1220s fwupd-refresh.service is a disabled or a static unit not running, not starting it. 1220s fwupd.service is a disabled or a static unit not running, not starting it. 1220s Setting up ubuntu-pro-client-l10n (31.2) ... 1220s Setting up ubuntu-minimal (1.536build1) ... 1220s Setting up ubuntu-standard (1.536build1) ... 1220s Processing triggers for libc-bin (2.39-0ubuntu6) ... 1221s Processing triggers for ufw (0.36.2-5) ... 1221s Processing triggers for install-info (7.1-3build1) ... 1221s Processing triggers for initramfs-tools (0.142ubuntu22) ... 1227s Reading package lists... 1227s Building dependency tree... 1227s Reading state information... 1229s The following packages will be REMOVED: 1229s libatasmart4* libblockdev-crypto3* libblockdev-fs3* libblockdev-loop3* 1229s libblockdev-mdraid3* libblockdev-nvme3* libblockdev-part3* 1229s libblockdev-swap3* libblockdev-utils3* libblockdev3* libbytesize-common* 1229s libbytesize1* libnspr4* libnss3* libnvme1t64* libpolkit-agent-1-0* 1229s libvolume-key1* linux-headers-6.8.0-11* python3-lib2to3* 1231s 0 upgraded, 0 newly installed, 19 to remove and 1 not upgraded. 1231s After this operation, 89.7 MB disk space will be freed. 1231s (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 ... 78559 files and directories currently installed.) 1231s Removing libatasmart4:armhf (0.19-5build2) ... 1231s Removing libblockdev-crypto3:armhf (3.1.0-1build1) ... 1231s Removing libblockdev-fs3:armhf (3.1.0-1build1) ... 1231s Removing libblockdev-loop3:armhf (3.1.0-1build1) ... 1231s Removing libblockdev-mdraid3:armhf (3.1.0-1build1) ... 1231s Removing libblockdev-nvme3:armhf (3.1.0-1build1) ... 1231s Removing libblockdev-part3:armhf (3.1.0-1build1) ... 1231s Removing libblockdev-swap3:armhf (3.1.0-1build1) ... 1231s Removing libblockdev3:armhf (3.1.0-1build1) ... 1231s Removing libblockdev-utils3:armhf (3.1.0-1build1) ... 1231s Removing libbytesize1:armhf (2.10-1ubuntu1) ... 1231s Removing libbytesize-common (2.10-1ubuntu1) ... 1231s Removing libvolume-key1:armhf (0.3.12-7build1) ... 1232s Removing libnss3:armhf (2:3.98-1) ... 1232s Removing libnspr4:armhf (2:4.35-1.1) ... 1232s Removing libnvme1t64 (1.8-3) ... 1232s Removing libpolkit-agent-1-0:armhf (124-1ubuntu1) ... 1232s Removing linux-headers-6.8.0-11 (6.8.0-11.11) ... 1235s Removing python3-lib2to3 (3.12.2-3ubuntu2) ... 1235s Processing triggers for libc-bin (2.39-0ubuntu6) ... 1236s (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 ... 58288 files and directories currently installed.) 1236s Purging configuration files for libblockdev3:armhf (3.1.0-1build1) ... 1238s autopkgtest [15:51:56]: rebooting testbed after setup commands that affected boot 1318s Reading package lists... 1319s Building dependency tree... 1319s Reading state information... 1320s Starting pkgProblemResolver with broken count: 0 1320s Starting 2 pkgProblemResolver with broken count: 0 1320s Done 1322s The following additional packages will be installed: 1322s autodep8 dctrl-tools javascript-common libb-hooks-endofscope-perl 1322s libb-hooks-op-check-perl libclass-inspector-perl 1322s libclass-method-modifiers-perl libclass-xsaccessor-perl libdata-optlist-perl 1322s libdevel-callchecker-perl libdynaloader-functions-perl libexporter-tiny-perl 1322s libfeature-compat-try-perl libfile-sharedir-perl 1322s libgetopt-long-descriptive-perl libimport-into-perl libio-stringy-perl 1322s libjs-bootstrap4 libjs-highlight.js libjs-jquery libjs-popper.js 1322s libjson-schema-modern-perl libmodule-implementation-perl 1322s libmodule-runtime-perl libmojolicious-perl libmoo-perl libmoox-typetiny-perl 1322s libnamespace-clean-perl libpackage-stash-perl libparams-classify-perl 1322s libparams-util-perl libparams-validate-perl libpath-tiny-perl 1322s libref-util-perl librole-tiny-perl libsafe-isa-perl libstrictures-perl 1322s libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl 1322s libsub-install-perl libsub-name-perl libsub-quote-perl 1322s libsyntax-keyword-try-perl libtry-tiny-perl libtype-tiny-perl 1322s libvariable-magic-perl libxs-parse-keyword-perl pkg-perl-autopkgtest 1322s Suggested packages: 1322s debtags apache2 | lighttpd | httpd libscalar-number-perl 1322s libbareword-filehandles-perl libindirect-perl libmultidimensional-perl 1322s libxstring-perl libdevel-lexalias-perl libdevel-stacktrace-perl 1322s Recommended packages: 1322s node-jquery libdata-validate-domain-perl libdatetime-format-rfc3339-perl 1322s libemail-address-xs-perl libnet-idn-encode-perl libtime-moment-perl 1322s libcpanel-json-xs-perl libev-perl libfuture-asyncawait-perl 1322s libio-socket-socks-perl libio-socket-ssl-perl libmojo-server-fastcgi-perl 1322s libpackage-stash-xs-perl libunicode-utf8-perl libreadonly-perl 1322s libref-util-xs-perl libtype-tiny-xs-perl 1323s The following NEW packages will be installed: 1323s autodep8 autopkgtest-satdep dctrl-tools javascript-common 1323s libb-hooks-endofscope-perl libb-hooks-op-check-perl libclass-inspector-perl 1323s libclass-method-modifiers-perl libclass-xsaccessor-perl libdata-optlist-perl 1323s libdevel-callchecker-perl libdynaloader-functions-perl libexporter-tiny-perl 1323s libfeature-compat-try-perl libfile-sharedir-perl 1323s libgetopt-long-descriptive-perl libimport-into-perl libio-stringy-perl 1323s libjs-bootstrap4 libjs-highlight.js libjs-jquery libjs-popper.js 1323s libjson-schema-modern-perl libmodule-implementation-perl 1323s libmodule-runtime-perl libmojolicious-perl libmoo-perl libmoox-typetiny-perl 1323s libnamespace-clean-perl libpackage-stash-perl libparams-classify-perl 1323s libparams-util-perl libparams-validate-perl libpath-tiny-perl 1323s libref-util-perl librole-tiny-perl libsafe-isa-perl libstrictures-perl 1323s libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl 1323s libsub-install-perl libsub-name-perl libsub-quote-perl 1323s libsyntax-keyword-try-perl libtry-tiny-perl libtype-tiny-perl 1323s libvariable-magic-perl libxs-parse-keyword-perl pkg-perl-autopkgtest 1323s 0 upgraded, 50 newly installed, 0 to remove and 1 not upgraded. 1323s Need to get 3459 kB/3460 kB of archives. 1323s After this operation, 13.8 MB of additional disk space will be used. 1323s Get:1 /tmp/autopkgtest.BzCoE7/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [728 B] 1323s Get:2 http://ftpmaster.internal/ubuntu noble/main armhf dctrl-tools armhf 2.24-3build2 [57.2 kB] 1323s Get:3 http://ftpmaster.internal/ubuntu noble/main armhf autodep8 all 0.28 [13.2 kB] 1323s Get:4 http://ftpmaster.internal/ubuntu noble/main armhf javascript-common all 11+nmu1 [5936 B] 1323s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libb-hooks-op-check-perl armhf 0.22-3 [9184 B] 1323s Get:6 http://ftpmaster.internal/ubuntu noble/main armhf libdynaloader-functions-perl all 0.003-3 [12.1 kB] 1323s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdevel-callchecker-perl armhf 0.008-2build2 [13.3 kB] 1323s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparams-classify-perl armhf 0.015-2build4 [18.7 kB] 1323s Get:9 http://ftpmaster.internal/ubuntu noble/main armhf libmodule-runtime-perl all 0.016-2 [16.4 kB] 1323s Get:10 http://ftpmaster.internal/ubuntu noble/main armhf libtry-tiny-perl all 0.31-2 [20.8 kB] 1323s Get:11 http://ftpmaster.internal/ubuntu noble/main armhf libmodule-implementation-perl all 0.09-2 [12.0 kB] 1323s Get:12 http://ftpmaster.internal/ubuntu noble/main armhf libsub-exporter-progressive-perl all 0.001013-3 [6718 B] 1323s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libvariable-magic-perl armhf 0.63-1build2 [32.2 kB] 1323s Get:14 http://ftpmaster.internal/ubuntu noble/main armhf libb-hooks-endofscope-perl all 0.28-1 [15.8 kB] 1323s Get:15 http://ftpmaster.internal/ubuntu noble/universe armhf libclass-inspector-perl all 1.36-3 [15.4 kB] 1323s Get:16 http://ftpmaster.internal/ubuntu noble/main armhf libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 1323s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libclass-xsaccessor-perl armhf 1.19-4build3 [32.4 kB] 1323s Get:18 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparams-util-perl armhf 1.102-2build2 [20.3 kB] 1323s Get:19 http://ftpmaster.internal/ubuntu noble/main armhf libsub-install-perl all 0.929-1 [9764 B] 1323s Get:20 http://ftpmaster.internal/ubuntu noble/main armhf libdata-optlist-perl all 0.114-1 [9708 B] 1323s Get:21 http://ftpmaster.internal/ubuntu noble/main armhf libexporter-tiny-perl all 1.006002-1 [36.8 kB] 1323s Get:22 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxs-parse-keyword-perl armhf 0.39-1build2 [51.9 kB] 1323s Get:23 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsyntax-keyword-try-perl armhf 0.29-1build2 [23.8 kB] 1323s Get:24 http://ftpmaster.internal/ubuntu noble/universe armhf libfeature-compat-try-perl all 0.05-1 [9998 B] 1323s Get:25 http://ftpmaster.internal/ubuntu noble/universe armhf libfile-sharedir-perl all 1.118-3 [14.0 kB] 1323s Get:26 http://ftpmaster.internal/ubuntu noble/main armhf libio-stringy-perl all 2.111-3 [55.8 kB] 1323s Get:27 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparams-validate-perl armhf 1.31-2build2 [52.9 kB] 1324s Get:28 http://ftpmaster.internal/ubuntu noble/main armhf libsub-exporter-perl all 0.990-1 [49.0 kB] 1324s Get:29 http://ftpmaster.internal/ubuntu noble/main armhf libgetopt-long-descriptive-perl all 0.111-1 [25.5 kB] 1324s Get:30 http://ftpmaster.internal/ubuntu noble/main armhf libimport-into-perl all 1.002005-2 [10.7 kB] 1324s Get:31 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-popper.js all 1.16.1+ds-6 [54.1 kB] 1324s Get:32 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-bootstrap4 all 4.6.1+dfsg1-4 [537 kB] 1324s Get:33 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-highlight.js all 9.18.5+dfsg1-2 [385 kB] 1324s Get:34 http://ftpmaster.internal/ubuntu noble/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1324s Get:35 http://ftpmaster.internal/ubuntu noble/universe armhf libmojolicious-perl all 9.35+dfsg-1 [792 kB] 1324s Get:36 http://ftpmaster.internal/ubuntu noble/main armhf librole-tiny-perl all 2.002004-1 [16.3 kB] 1324s Get:37 http://ftpmaster.internal/ubuntu noble/main armhf libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 1324s Get:38 http://ftpmaster.internal/ubuntu noble/main armhf libmoo-perl all 2.005005-1 [47.4 kB] 1324s Get:39 http://ftpmaster.internal/ubuntu noble/universe armhf libtype-tiny-perl all 2.004000-1 [354 kB] 1324s Get:40 http://ftpmaster.internal/ubuntu noble/universe armhf libmoox-typetiny-perl all 0.002003-4 [5930 B] 1324s Get:41 http://ftpmaster.internal/ubuntu noble/main armhf libpackage-stash-perl all 0.40-1 [19.5 kB] 1324s Get:42 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsub-identify-perl armhf 0.14-3build2 [9250 B] 1324s Get:43 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsub-name-perl armhf 0.27-1build2 [10.1 kB] 1324s Get:44 http://ftpmaster.internal/ubuntu noble/main armhf libnamespace-clean-perl all 0.27-2 [14.0 kB] 1324s Get:45 http://ftpmaster.internal/ubuntu noble/main armhf libpath-tiny-perl all 0.144-1 [47.7 kB] 1324s Get:46 http://ftpmaster.internal/ubuntu noble/universe armhf libref-util-perl all 0.204-2 [15.1 kB] 1324s Get:47 http://ftpmaster.internal/ubuntu noble/universe armhf libsafe-isa-perl all 1.000010-1 [7684 B] 1324s Get:48 http://ftpmaster.internal/ubuntu noble/main armhf libstrictures-perl all 2.000006-1 [16.3 kB] 1324s Get:49 http://ftpmaster.internal/ubuntu noble/universe armhf libjson-schema-modern-perl all 0.582-1 [93.0 kB] 1324s Get:50 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf pkg-perl-autopkgtest all 0.78 [18.3 kB] 1326s Fetched 3459 kB in 2s (2047 kB/s) 1326s Selecting previously unselected package dctrl-tools. 1326s (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 ... 58284 files and directories currently installed.) 1326s Preparing to unpack .../00-dctrl-tools_2.24-3build2_armhf.deb ... 1326s Unpacking dctrl-tools (2.24-3build2) ... 1327s Selecting previously unselected package autodep8. 1327s Preparing to unpack .../01-autodep8_0.28_all.deb ... 1327s Unpacking autodep8 (0.28) ... 1327s Selecting previously unselected package javascript-common. 1327s Preparing to unpack .../02-javascript-common_11+nmu1_all.deb ... 1327s Unpacking javascript-common (11+nmu1) ... 1327s Selecting previously unselected package libb-hooks-op-check-perl:armhf. 1327s Preparing to unpack .../03-libb-hooks-op-check-perl_0.22-3_armhf.deb ... 1327s Unpacking libb-hooks-op-check-perl:armhf (0.22-3) ... 1327s Selecting previously unselected package libdynaloader-functions-perl. 1327s Preparing to unpack .../04-libdynaloader-functions-perl_0.003-3_all.deb ... 1327s Unpacking libdynaloader-functions-perl (0.003-3) ... 1327s Selecting previously unselected package libdevel-callchecker-perl:armhf. 1327s Preparing to unpack .../05-libdevel-callchecker-perl_0.008-2build2_armhf.deb ... 1327s Unpacking libdevel-callchecker-perl:armhf (0.008-2build2) ... 1327s Selecting previously unselected package libparams-classify-perl:armhf. 1327s Preparing to unpack .../06-libparams-classify-perl_0.015-2build4_armhf.deb ... 1327s Unpacking libparams-classify-perl:armhf (0.015-2build4) ... 1327s Selecting previously unselected package libmodule-runtime-perl. 1327s Preparing to unpack .../07-libmodule-runtime-perl_0.016-2_all.deb ... 1327s Unpacking libmodule-runtime-perl (0.016-2) ... 1327s Selecting previously unselected package libtry-tiny-perl. 1327s Preparing to unpack .../08-libtry-tiny-perl_0.31-2_all.deb ... 1327s Unpacking libtry-tiny-perl (0.31-2) ... 1327s Selecting previously unselected package libmodule-implementation-perl. 1327s Preparing to unpack .../09-libmodule-implementation-perl_0.09-2_all.deb ... 1327s Unpacking libmodule-implementation-perl (0.09-2) ... 1327s Selecting previously unselected package libsub-exporter-progressive-perl. 1327s Preparing to unpack .../10-libsub-exporter-progressive-perl_0.001013-3_all.deb ... 1327s Unpacking libsub-exporter-progressive-perl (0.001013-3) ... 1327s Selecting previously unselected package libvariable-magic-perl. 1327s Preparing to unpack .../11-libvariable-magic-perl_0.63-1build2_armhf.deb ... 1327s Unpacking libvariable-magic-perl (0.63-1build2) ... 1327s Selecting previously unselected package libb-hooks-endofscope-perl. 1328s Preparing to unpack .../12-libb-hooks-endofscope-perl_0.28-1_all.deb ... 1328s Unpacking libb-hooks-endofscope-perl (0.28-1) ... 1328s Selecting previously unselected package libclass-inspector-perl. 1328s Preparing to unpack .../13-libclass-inspector-perl_1.36-3_all.deb ... 1328s Unpacking libclass-inspector-perl (1.36-3) ... 1328s Selecting previously unselected package libclass-method-modifiers-perl. 1328s Preparing to unpack .../14-libclass-method-modifiers-perl_2.15-1_all.deb ... 1328s Unpacking libclass-method-modifiers-perl (2.15-1) ... 1328s Selecting previously unselected package libclass-xsaccessor-perl. 1328s Preparing to unpack .../15-libclass-xsaccessor-perl_1.19-4build3_armhf.deb ... 1328s Unpacking libclass-xsaccessor-perl (1.19-4build3) ... 1328s Selecting previously unselected package libparams-util-perl. 1328s Preparing to unpack .../16-libparams-util-perl_1.102-2build2_armhf.deb ... 1328s Unpacking libparams-util-perl (1.102-2build2) ... 1328s Selecting previously unselected package libsub-install-perl. 1328s Preparing to unpack .../17-libsub-install-perl_0.929-1_all.deb ... 1328s Unpacking libsub-install-perl (0.929-1) ... 1328s Selecting previously unselected package libdata-optlist-perl. 1328s Preparing to unpack .../18-libdata-optlist-perl_0.114-1_all.deb ... 1328s Unpacking libdata-optlist-perl (0.114-1) ... 1328s Selecting previously unselected package libexporter-tiny-perl. 1328s Preparing to unpack .../19-libexporter-tiny-perl_1.006002-1_all.deb ... 1328s Unpacking libexporter-tiny-perl (1.006002-1) ... 1328s Selecting previously unselected package libxs-parse-keyword-perl. 1328s Preparing to unpack .../20-libxs-parse-keyword-perl_0.39-1build2_armhf.deb ... 1328s Unpacking libxs-parse-keyword-perl (0.39-1build2) ... 1328s Selecting previously unselected package libsyntax-keyword-try-perl. 1328s Preparing to unpack .../21-libsyntax-keyword-try-perl_0.29-1build2_armhf.deb ... 1328s Unpacking libsyntax-keyword-try-perl (0.29-1build2) ... 1328s Selecting previously unselected package libfeature-compat-try-perl. 1328s Preparing to unpack .../22-libfeature-compat-try-perl_0.05-1_all.deb ... 1328s Unpacking libfeature-compat-try-perl (0.05-1) ... 1328s Selecting previously unselected package libfile-sharedir-perl. 1328s Preparing to unpack .../23-libfile-sharedir-perl_1.118-3_all.deb ... 1328s Unpacking libfile-sharedir-perl (1.118-3) ... 1328s Selecting previously unselected package libio-stringy-perl. 1329s Preparing to unpack .../24-libio-stringy-perl_2.111-3_all.deb ... 1329s Unpacking libio-stringy-perl (2.111-3) ... 1329s Selecting previously unselected package libparams-validate-perl:armhf. 1329s Preparing to unpack .../25-libparams-validate-perl_1.31-2build2_armhf.deb ... 1329s Unpacking libparams-validate-perl:armhf (1.31-2build2) ... 1329s Selecting previously unselected package libsub-exporter-perl. 1329s Preparing to unpack .../26-libsub-exporter-perl_0.990-1_all.deb ... 1329s Unpacking libsub-exporter-perl (0.990-1) ... 1329s Selecting previously unselected package libgetopt-long-descriptive-perl. 1329s Preparing to unpack .../27-libgetopt-long-descriptive-perl_0.111-1_all.deb ... 1329s Unpacking libgetopt-long-descriptive-perl (0.111-1) ... 1329s Selecting previously unselected package libimport-into-perl. 1329s Preparing to unpack .../28-libimport-into-perl_1.002005-2_all.deb ... 1329s Unpacking libimport-into-perl (1.002005-2) ... 1329s Selecting previously unselected package libjs-popper.js. 1329s Preparing to unpack .../29-libjs-popper.js_1.16.1+ds-6_all.deb ... 1329s Unpacking libjs-popper.js (1.16.1+ds-6) ... 1329s Selecting previously unselected package libjs-bootstrap4. 1329s Preparing to unpack .../30-libjs-bootstrap4_4.6.1+dfsg1-4_all.deb ... 1329s Unpacking libjs-bootstrap4 (4.6.1+dfsg1-4) ... 1329s Selecting previously unselected package libjs-highlight.js. 1329s Preparing to unpack .../31-libjs-highlight.js_9.18.5+dfsg1-2_all.deb ... 1329s Unpacking libjs-highlight.js (9.18.5+dfsg1-2) ... 1330s Selecting previously unselected package libjs-jquery. 1330s Preparing to unpack .../32-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1330s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1330s Selecting previously unselected package libmojolicious-perl. 1330s Preparing to unpack .../33-libmojolicious-perl_9.35+dfsg-1_all.deb ... 1330s Unpacking libmojolicious-perl (9.35+dfsg-1) ... 1330s Selecting previously unselected package librole-tiny-perl. 1330s Preparing to unpack .../34-librole-tiny-perl_2.002004-1_all.deb ... 1330s Unpacking librole-tiny-perl (2.002004-1) ... 1330s Selecting previously unselected package libsub-quote-perl. 1330s Preparing to unpack .../35-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 1330s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 1330s Selecting previously unselected package libmoo-perl. 1330s Preparing to unpack .../36-libmoo-perl_2.005005-1_all.deb ... 1330s Unpacking libmoo-perl (2.005005-1) ... 1330s Selecting previously unselected package libtype-tiny-perl. 1330s Preparing to unpack .../37-libtype-tiny-perl_2.004000-1_all.deb ... 1330s Unpacking libtype-tiny-perl (2.004000-1) ... 1330s Selecting previously unselected package libmoox-typetiny-perl. 1330s Preparing to unpack .../38-libmoox-typetiny-perl_0.002003-4_all.deb ... 1330s Unpacking libmoox-typetiny-perl (0.002003-4) ... 1330s Selecting previously unselected package libpackage-stash-perl. 1330s Preparing to unpack .../39-libpackage-stash-perl_0.40-1_all.deb ... 1330s Unpacking libpackage-stash-perl (0.40-1) ... 1331s Selecting previously unselected package libsub-identify-perl. 1331s Preparing to unpack .../40-libsub-identify-perl_0.14-3build2_armhf.deb ... 1331s Unpacking libsub-identify-perl (0.14-3build2) ... 1331s Selecting previously unselected package libsub-name-perl:armhf. 1331s Preparing to unpack .../41-libsub-name-perl_0.27-1build2_armhf.deb ... 1331s Unpacking libsub-name-perl:armhf (0.27-1build2) ... 1331s Selecting previously unselected package libnamespace-clean-perl. 1331s Preparing to unpack .../42-libnamespace-clean-perl_0.27-2_all.deb ... 1331s Unpacking libnamespace-clean-perl (0.27-2) ... 1331s Selecting previously unselected package libpath-tiny-perl. 1331s Preparing to unpack .../43-libpath-tiny-perl_0.144-1_all.deb ... 1331s Unpacking libpath-tiny-perl (0.144-1) ... 1331s Selecting previously unselected package libref-util-perl. 1331s Preparing to unpack .../44-libref-util-perl_0.204-2_all.deb ... 1331s Unpacking libref-util-perl (0.204-2) ... 1331s Selecting previously unselected package libsafe-isa-perl. 1331s Preparing to unpack .../45-libsafe-isa-perl_1.000010-1_all.deb ... 1331s Unpacking libsafe-isa-perl (1.000010-1) ... 1331s Selecting previously unselected package libstrictures-perl. 1331s Preparing to unpack .../46-libstrictures-perl_2.000006-1_all.deb ... 1331s Unpacking libstrictures-perl (2.000006-1) ... 1331s Selecting previously unselected package libjson-schema-modern-perl. 1331s Preparing to unpack .../47-libjson-schema-modern-perl_0.582-1_all.deb ... 1331s Unpacking libjson-schema-modern-perl (0.582-1) ... 1331s Selecting previously unselected package pkg-perl-autopkgtest. 1331s Preparing to unpack .../48-pkg-perl-autopkgtest_0.78_all.deb ... 1331s Unpacking pkg-perl-autopkgtest (0.78) ... 1331s Selecting previously unselected package autopkgtest-satdep. 1331s Preparing to unpack .../49-2-autopkgtest-satdep.deb ... 1331s Unpacking autopkgtest-satdep (0) ... 1331s Setting up javascript-common (11+nmu1) ... 1332s Setting up libsafe-isa-perl (1.000010-1) ... 1332s Setting up libclass-inspector-perl (1.36-3) ... 1332s Setting up libdynaloader-functions-perl (0.003-3) ... 1332s Setting up libclass-method-modifiers-perl (2.15-1) ... 1332s Setting up libjs-popper.js (1.16.1+ds-6) ... 1332s Setting up libsub-identify-perl (0.14-3build2) ... 1332s Setting up libio-stringy-perl (2.111-3) ... 1332s Setting up libtry-tiny-perl (0.31-2) ... 1332s Setting up libsub-install-perl (0.929-1) ... 1332s Setting up libxs-parse-keyword-perl (0.39-1build2) ... 1332s Setting up libref-util-perl (0.204-2) ... 1332s Setting up libvariable-magic-perl (0.63-1build2) ... 1332s Setting up libb-hooks-op-check-perl:armhf (0.22-3) ... 1332s Setting up libparams-util-perl (1.102-2build2) ... 1332s Setting up libsub-exporter-progressive-perl (0.001013-3) ... 1332s Setting up libsub-name-perl:armhf (0.27-1build2) ... 1332s Setting up libsyntax-keyword-try-perl (0.29-1build2) ... 1332s Setting up libjs-highlight.js (9.18.5+dfsg1-2) ... 1332s Setting up libpath-tiny-perl (0.144-1) ... 1332s Setting up librole-tiny-perl (2.002004-1) ... 1332s Setting up libfile-sharedir-perl (1.118-3) ... 1332s Setting up libstrictures-perl (2.000006-1) ... 1332s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 1332s Setting up libclass-xsaccessor-perl (1.19-4build3) ... 1332s Setting up libjs-bootstrap4 (4.6.1+dfsg1-4) ... 1332s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1332s Setting up libexporter-tiny-perl (1.006002-1) ... 1332s Setting up dctrl-tools (2.24-3build2) ... 1332s Setting up autodep8 (0.28) ... 1332s Setting up libfeature-compat-try-perl (0.05-1) ... 1332s Setting up libmojolicious-perl (9.35+dfsg-1) ... 1332s Setting up libtype-tiny-perl (2.004000-1) ... 1332s Setting up libdevel-callchecker-perl:armhf (0.008-2build2) ... 1332s Setting up libdata-optlist-perl (0.114-1) ... 1332s Setting up pkg-perl-autopkgtest (0.78) ... 1332s Setting up libsub-exporter-perl (0.990-1) ... 1332s Setting up libparams-classify-perl:armhf (0.015-2build4) ... 1332s Setting up libmodule-runtime-perl (0.016-2) ... 1332s Setting up libmodule-implementation-perl (0.09-2) ... 1332s Setting up libpackage-stash-perl (0.40-1) ... 1332s Setting up libimport-into-perl (1.002005-2) ... 1332s Setting up libmoo-perl (2.005005-1) ... 1332s Setting up libmoox-typetiny-perl (0.002003-4) ... 1332s Setting up libparams-validate-perl:armhf (1.31-2build2) ... 1332s Setting up libb-hooks-endofscope-perl (0.28-1) ... 1332s Setting up libnamespace-clean-perl (0.27-2) ... 1332s Setting up libgetopt-long-descriptive-perl (0.111-1) ... 1332s Setting up libjson-schema-modern-perl (0.582-1) ... 1332s Setting up autopkgtest-satdep (0) ... 1332s Processing triggers for man-db (2.12.0-3build4) ... 1357s (Reading database ... 59843 files and directories currently installed.) 1357s Removing autopkgtest-satdep (0) ... 1371s autopkgtest [15:54:09]: test autodep8-perl: /usr/share/pkg-perl-autopkgtest/runner runtime-deps 1371s autopkgtest [15:54:09]: test autodep8-perl: [----------------------- 1377s /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t .. 1377s 1..4 1377s ok 1 - /usr/bin/perl -w -M"JSON::Schema::Modern" -e 1 2>&1 exited successfully 1377s ok 2 - /usr/bin/perl -w -M"JSON::Schema::Modern" -e 1 2>&1 produced no (non-whitelisted) output 1377s ok 3 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"JSON::Schema::Modern" -e 1 2>&1 exited successfully 1377s ok 4 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"JSON::Schema::Modern" -e 1 2>&1 produced no (non-whitelisted) output 1377s ok 1377s All tests successful. 1377s Files=1, Tests=4, 3 wallclock secs ( 0.06 usr 0.02 sys + 2.56 cusr 0.26 csys = 2.90 CPU) 1377s Result: PASS 1378s autopkgtest [15:54:16]: test autodep8-perl: -----------------------] 1382s autodep8-perl PASS (superficial) 1382s autopkgtest [15:54:20]: test autodep8-perl: - - - - - - - - - - results - - - - - - - - - - 1385s autopkgtest [15:54:23]: test autodep8-perl-recommends: preparing testbed 1396s Reading package lists... 1397s Building dependency tree... 1397s Reading state information... 1398s Starting pkgProblemResolver with broken count: 0 1399s Starting 2 pkgProblemResolver with broken count: 0 1399s Done 1400s The following additional packages will be installed: 1400s libalgorithm-c3-perl libclass-c3-perl libclass-data-inheritable-perl 1400s libclass-singleton-perl libdata-validate-domain-perl 1400s libdatetime-format-rfc3339-perl libdatetime-locale-perl libdatetime-perl 1400s libdatetime-timezone-perl libdevel-stacktrace-perl libemail-address-xs-perl 1400s libeval-closure-perl libexception-class-perl libmro-compat-perl 1400s libnamespace-autoclean-perl libnet-domain-tld-perl libnet-idn-encode-perl 1400s libparams-validationcompiler-perl libspecio-perl libtime-moment-perl 1400s libxstring-perl 1400s Suggested packages: 1400s libtest-fatal-perl 1400s Recommended packages: 1400s libclass-c3-xs-perl libdevel-lexalias-perl 1401s The following NEW packages will be installed: 1401s autopkgtest-satdep libalgorithm-c3-perl libclass-c3-perl 1401s libclass-data-inheritable-perl libclass-singleton-perl 1401s libdata-validate-domain-perl libdatetime-format-rfc3339-perl 1401s libdatetime-locale-perl libdatetime-perl libdatetime-timezone-perl 1401s libdevel-stacktrace-perl libemail-address-xs-perl libeval-closure-perl 1401s libexception-class-perl libmro-compat-perl libnamespace-autoclean-perl 1401s libnet-domain-tld-perl libnet-idn-encode-perl 1401s libparams-validationcompiler-perl libspecio-perl libtime-moment-perl 1401s libxstring-perl 1401s 0 upgraded, 22 newly installed, 0 to remove and 1 not upgraded. 1401s Need to get 3725 kB/3725 kB of archives. 1401s After this operation, 29.0 MB of additional disk space will be used. 1401s Get:1 /tmp/autopkgtest.BzCoE7/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [804 B] 1401s Get:2 http://ftpmaster.internal/ubuntu noble/universe armhf libalgorithm-c3-perl all 0.11-2 [10.2 kB] 1401s Get:3 http://ftpmaster.internal/ubuntu noble/universe armhf libclass-c3-perl all 0.35-2 [18.4 kB] 1401s Get:4 http://ftpmaster.internal/ubuntu noble/main armhf libclass-data-inheritable-perl all 0.08-3 [8084 B] 1401s Get:5 http://ftpmaster.internal/ubuntu noble/universe armhf libclass-singleton-perl all 1.6-2 [11.5 kB] 1401s Get:6 http://ftpmaster.internal/ubuntu noble/main armhf libnet-domain-tld-perl all 1.75-3 [29.4 kB] 1401s Get:7 http://ftpmaster.internal/ubuntu noble/main armhf libdata-validate-domain-perl all 0.10-1.1 [9992 B] 1401s Get:8 http://ftpmaster.internal/ubuntu noble/universe armhf libnamespace-autoclean-perl all 0.29-2 [11.7 kB] 1401s Get:9 http://ftpmaster.internal/ubuntu noble/universe armhf libeval-closure-perl all 0.14-3 [10.1 kB] 1401s Get:10 http://ftpmaster.internal/ubuntu noble/main armhf libdevel-stacktrace-perl all 2.0500-1 [22.1 kB] 1401s Get:11 http://ftpmaster.internal/ubuntu noble/main armhf libexception-class-perl all 1.45-1 [28.6 kB] 1401s Get:12 http://ftpmaster.internal/ubuntu noble/universe armhf libparams-validationcompiler-perl all 0.31-1 [28.3 kB] 1401s Get:13 http://ftpmaster.internal/ubuntu noble/universe armhf libmro-compat-perl all 0.15-2 [10.1 kB] 1401s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf libxstring-perl armhf 0.005-2build2 [7478 B] 1401s Get:15 http://ftpmaster.internal/ubuntu noble/universe armhf libspecio-perl all 0.48-1 [137 kB] 1401s Get:16 http://ftpmaster.internal/ubuntu noble/universe armhf libdatetime-locale-perl all 1:1.37-1 [2833 kB] 1402s Get:17 http://ftpmaster.internal/ubuntu noble/universe armhf libdatetime-timezone-perl all 1:2.62-1+2024a [262 kB] 1402s Get:18 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf libdatetime-perl armhf 2:1.65-1build1 [97.9 kB] 1402s Get:19 http://ftpmaster.internal/ubuntu noble/universe armhf libdatetime-format-rfc3339-perl all 1.8.0-1 [8156 B] 1402s Get:20 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libemail-address-xs-perl armhf 1.05-1build3 [26.2 kB] 1402s Get:21 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf libnet-idn-encode-perl armhf 2.500-3build2 [83.4 kB] 1402s Get:22 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtime-moment-perl armhf 0.44-2build3 [70.4 kB] 1404s Fetched 3725 kB in 1s (2671 kB/s) 1404s Selecting previously unselected package libalgorithm-c3-perl. 1404s (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 ... 59843 files and directories currently installed.) 1404s Preparing to unpack .../00-libalgorithm-c3-perl_0.11-2_all.deb ... 1404s Unpacking libalgorithm-c3-perl (0.11-2) ... 1404s Selecting previously unselected package libclass-c3-perl. 1404s Preparing to unpack .../01-libclass-c3-perl_0.35-2_all.deb ... 1404s Unpacking libclass-c3-perl (0.35-2) ... 1404s Selecting previously unselected package libclass-data-inheritable-perl. 1404s Preparing to unpack .../02-libclass-data-inheritable-perl_0.08-3_all.deb ... 1404s Unpacking libclass-data-inheritable-perl (0.08-3) ... 1404s Selecting previously unselected package libclass-singleton-perl. 1404s Preparing to unpack .../03-libclass-singleton-perl_1.6-2_all.deb ... 1404s Unpacking libclass-singleton-perl (1.6-2) ... 1404s Selecting previously unselected package libnet-domain-tld-perl. 1404s Preparing to unpack .../04-libnet-domain-tld-perl_1.75-3_all.deb ... 1404s Unpacking libnet-domain-tld-perl (1.75-3) ... 1404s Selecting previously unselected package libdata-validate-domain-perl. 1404s Preparing to unpack .../05-libdata-validate-domain-perl_0.10-1.1_all.deb ... 1404s Unpacking libdata-validate-domain-perl (0.10-1.1) ... 1404s Selecting previously unselected package libnamespace-autoclean-perl. 1404s Preparing to unpack .../06-libnamespace-autoclean-perl_0.29-2_all.deb ... 1404s Unpacking libnamespace-autoclean-perl (0.29-2) ... 1404s Selecting previously unselected package libeval-closure-perl. 1404s Preparing to unpack .../07-libeval-closure-perl_0.14-3_all.deb ... 1404s Unpacking libeval-closure-perl (0.14-3) ... 1404s Selecting previously unselected package libdevel-stacktrace-perl. 1404s Preparing to unpack .../08-libdevel-stacktrace-perl_2.0500-1_all.deb ... 1404s Unpacking libdevel-stacktrace-perl (2.0500-1) ... 1405s Selecting previously unselected package libexception-class-perl. 1405s Preparing to unpack .../09-libexception-class-perl_1.45-1_all.deb ... 1405s Unpacking libexception-class-perl (1.45-1) ... 1405s Selecting previously unselected package libparams-validationcompiler-perl. 1405s Preparing to unpack .../10-libparams-validationcompiler-perl_0.31-1_all.deb ... 1405s Unpacking libparams-validationcompiler-perl (0.31-1) ... 1405s Selecting previously unselected package libmro-compat-perl. 1405s Preparing to unpack .../11-libmro-compat-perl_0.15-2_all.deb ... 1405s Unpacking libmro-compat-perl (0.15-2) ... 1405s Selecting previously unselected package libxstring-perl:armhf. 1405s Preparing to unpack .../12-libxstring-perl_0.005-2build2_armhf.deb ... 1405s Unpacking libxstring-perl:armhf (0.005-2build2) ... 1405s Selecting previously unselected package libspecio-perl. 1405s Preparing to unpack .../13-libspecio-perl_0.48-1_all.deb ... 1405s Unpacking libspecio-perl (0.48-1) ... 1405s Selecting previously unselected package libdatetime-locale-perl. 1405s Preparing to unpack .../14-libdatetime-locale-perl_1%3a1.37-1_all.deb ... 1405s Unpacking libdatetime-locale-perl (1:1.37-1) ... 1407s Selecting previously unselected package libdatetime-timezone-perl. 1407s Preparing to unpack .../15-libdatetime-timezone-perl_1%3a2.62-1+2024a_all.deb ... 1407s Unpacking libdatetime-timezone-perl (1:2.62-1+2024a) ... 1407s Selecting previously unselected package libdatetime-perl. 1407s Preparing to unpack .../16-libdatetime-perl_2%3a1.65-1build1_armhf.deb ... 1407s Unpacking libdatetime-perl (2:1.65-1build1) ... 1407s Selecting previously unselected package libdatetime-format-rfc3339-perl. 1407s Preparing to unpack .../17-libdatetime-format-rfc3339-perl_1.8.0-1_all.deb ... 1407s Unpacking libdatetime-format-rfc3339-perl (1.8.0-1) ... 1407s Selecting previously unselected package libemail-address-xs-perl. 1407s Preparing to unpack .../18-libemail-address-xs-perl_1.05-1build3_armhf.deb ... 1407s Unpacking libemail-address-xs-perl (1.05-1build3) ... 1407s Selecting previously unselected package libnet-idn-encode-perl. 1407s Preparing to unpack .../19-libnet-idn-encode-perl_2.500-3build2_armhf.deb ... 1407s Unpacking libnet-idn-encode-perl (2.500-3build2) ... 1407s Selecting previously unselected package libtime-moment-perl. 1407s Preparing to unpack .../20-libtime-moment-perl_0.44-2build3_armhf.deb ... 1407s Unpacking libtime-moment-perl (0.44-2build3) ... 1407s Selecting previously unselected package autopkgtest-satdep. 1407s Preparing to unpack .../21-3-autopkgtest-satdep.deb ... 1407s Unpacking autopkgtest-satdep (0) ... 1407s Setting up libnet-idn-encode-perl (2.500-3build2) ... 1407s Setting up libclass-singleton-perl (1.6-2) ... 1407s Setting up libtime-moment-perl (0.44-2build3) ... 1407s Setting up libxstring-perl:armhf (0.005-2build2) ... 1407s Setting up libclass-data-inheritable-perl (0.08-3) ... 1407s Setting up libalgorithm-c3-perl (0.11-2) ... 1407s Setting up libnet-domain-tld-perl (1.75-3) ... 1407s Setting up libdata-validate-domain-perl (0.10-1.1) ... 1407s Setting up libdevel-stacktrace-perl (2.0500-1) ... 1408s Setting up libnamespace-autoclean-perl (0.29-2) ... 1408s Setting up libeval-closure-perl (0.14-3) ... 1408s Setting up libemail-address-xs-perl (1.05-1build3) ... 1408s Setting up libexception-class-perl (1.45-1) ... 1408s Setting up libclass-c3-perl (0.35-2) ... 1408s Setting up libmro-compat-perl (0.15-2) ... 1408s Setting up libparams-validationcompiler-perl (0.31-1) ... 1408s Setting up libspecio-perl (0.48-1) ... 1408s Setting up libdatetime-locale-perl (1:1.37-1) ... 1408s Setting up libdatetime-timezone-perl (1:2.62-1+2024a) ... 1408s Setting up libdatetime-perl (2:1.65-1build1) ... 1408s Setting up libdatetime-format-rfc3339-perl (1.8.0-1) ... 1408s Setting up autopkgtest-satdep (0) ... 1408s Processing triggers for man-db (2.12.0-3build4) ... 1422s (Reading database ... 62989 files and directories currently installed.) 1422s Removing autopkgtest-satdep (0) ... 1430s autopkgtest [15:55:08]: test autodep8-perl-recommends: /usr/share/pkg-perl-autopkgtest/runner runtime-deps-and-recommends 1430s autopkgtest [15:55:08]: test autodep8-perl-recommends: [----------------------- 1441s /usr/share/pkg-perl-autopkgtest/runtime-deps-and-recommends.d/syntax.t .. 1441s 1..4 1441s ok 1 - Package libjson-schema-modern-perl is known to dpkg 1441s ok 2 - Got status information for package libjson-schema-modern-perl 1441s ok 3 - Got file list for package libjson-schema-modern-perl 1441s # Subtest: all modules in libjson-schema-modern-perl pass the syntax check 1441s 1..15 1441s ok 1 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Annotation.pm exited successfully 1441s ok 2 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Document.pm exited successfully 1441s ok 3 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Error.pm exited successfully 1441s ok 4 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Result.pm exited successfully 1441s ok 5 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Utilities.pm exited successfully 1441s ok 6 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Applicator.pm exited successfully 1441s ok 7 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Content.pm exited successfully 1441s ok 8 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Core.pm exited successfully 1441s ok 9 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm exited successfully 1441s ok 10 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm exited successfully 1441s ok 11 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/MetaData.pm exited successfully 1441s ok 12 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Unevaluated.pm exited successfully 1441s ok 13 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Validation.pm exited successfully 1441s ok 14 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary.pm exited successfully 1441s ok 15 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern.pm exited successfully 1441s ok 4 - all modules in libjson-schema-modern-perl pass the syntax check 1441s ok 1441s All tests successful. 1441s Files=1, Tests=4, 8 wallclock secs ( 0.06 usr 0.00 sys + 7.24 cusr 0.70 csys = 8.00 CPU) 1441s Result: PASS 1441s autopkgtest [15:55:19]: test autodep8-perl-recommends: -----------------------] 1445s autodep8-perl-recommends PASS (superficial) 1445s autopkgtest [15:55:23]: test autodep8-perl-recommends: - - - - - - - - - - results - - - - - - - - - - 1449s autopkgtest [15:55:27]: @@@@@@@@@@@@@@@@@@@@ summary 1449s autodep8-perl-build-deps PASS 1449s autodep8-perl PASS (superficial) 1449s autodep8-perl-recommends PASS (superficial)