Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/m/mwparserfromhell/mwparserfromhell_0.6-1_amd64.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/mwparserfromhell-0.6-1peealj0t/mwparserfromhell_0.6-1_amd64.buildinfo Get source package info: mwparserfromhell=0.6-1 Source URL: http://snapshot.notset.fr/mr/package/mwparserfromhell/0.6-1/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=autoconf=2.69-13 automake=1:1.16.3-1 autopoint=0.21-3 autotools-dev=20180224.1 base-files=11 base-passwd=3.5.48 bash=5.1-1 binutils=2.35.1-5 binutils-common=2.35.1-5 binutils-x86-64-linux-gnu=2.35.1-5 bsdextrautils=2.36.1-3 bsdutils=1:2.36.1-3 build-essential=12.8 bzip2=1.0.8-4 coreutils=8.32-4+b1 cpp=4:10.2.0-1 cpp-10=10.2.1-1 dash=0.5.11+git20200708+dd9ef66-5 debconf=1.5.74 debhelper=13.3 debianutils=4.11.2 dh-autoreconf=19 dh-python=4.20201102 dh-strip-nondeterminism=1.9.0-1 diffutils=1:3.7-3 dpkg=1.20.5 dpkg-dev=1.20.5 dwz=0.13+20201015-2 file=1:5.39-3 findutils=4.7.0+git20201010-2 g++=4:10.2.0-1 g++-10=10.2.1-1 gcc=4:10.2.0-1 gcc-10=10.2.1-1 gcc-10-base=10.2.1-1 gettext=0.21-3 gettext-base=0.21-3 grep=3.6-1 groff-base=1.22.4-5 gzip=1.10-2 hostname=3.23 init-system-helpers=1.60 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-8 libarchive-zip-perl=1.68-1 libasan6=10.2.1-1 libatomic1=10.2.1-1 libattr1=1:2.4.48-5 libaudit-common=1:2.8.5-3.1 libaudit1=1:2.8.5-3.1+b1 libbinutils=2.35.1-5 libblkid1=2.36.1-3 libbz2-1.0=1.0.8-4 libc-bin=2.31-6 libc-dev-bin=2.31-6 libc6=2.31-6 libc6-dev=2.31-6 libcap-ng0=0.7.9-2.2+b1 libcc1-0=10.2.1-1 libcom-err2=1.45.6-1 libcrypt-dev=1:4.4.17-1 libcrypt1=1:4.4.17-1 libctf-nobfd0=2.35.1-5 libctf0=2.35.1-5 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.255 libdebhelper-perl=13.3 libdpkg-perl=1.20.5 libelf1=0.182-1 libexpat1=2.2.10-1 libexpat1-dev=2.2.10-1 libffi7=3.3-5 libfile-stripnondeterminism-perl=1.9.0-1 libgcc-10-dev=10.2.1-1 libgcc-s1=10.2.1-1 libgcrypt20=1.8.7-2 libgdbm-compat4=1.18.1-5.1 libgdbm6=1.18.1-5.1 libgmp10=2:6.2.1+dfsg-1 libgomp1=10.2.1-1 libgpg-error0=1.38-2 libgssapi-krb5-2=1.18.3-4 libicu67=67.1-5 libisl23=0.23-1 libitm1=10.2.1-1 libk5crypto3=1.18.3-4 libkeyutils1=1.6.1-2 libkrb5-3=1.18.3-4 libkrb5support0=1.18.3-4 liblsan0=10.2.1-1 liblz4-1=1.9.3-1 liblzma5=5.2.4-1+b1 libmagic-mgc=1:5.39-3 libmagic1=1:5.39-3 libmount1=2.36.1-3 libmpc3=1.2.0-1 libmpfr6=4.1.0-3 libncursesw6=6.2+20201114-1 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libpam-modules=1.3.1-5 libpam-modules-bin=1.3.1-5 libpam-runtime=1.3.1-5 libpam0g=1.3.1-5 libpcre2-8-0=10.36-2 libpcre3=2:8.39-13 libperl5.32=5.32.0-6 libpipeline1=1.5.3-1 libpython3-all-dev=3.9.0-4 libpython3-dev=3.9.0-4 libpython3-stdlib=3.9.0-4 libpython3.9=3.9.1-1 libpython3.9-dev=3.9.1-1 libpython3.9-minimal=3.9.1-1 libpython3.9-stdlib=3.9.1-1 libquadmath0=10.2.1-1 libreadline8=8.1-1 libseccomp2=2.5.0-3+b1 libselinux1=3.1-2+b2 libsigsegv2=2.12-3 libsmartcols1=2.36.1-3 libsqlite3-0=3.34.0-1 libssl1.1=1.1.1i-1 libstdc++-10-dev=10.2.1-1 libstdc++6=10.2.1-1 libsub-override-perl=0.09-2 libsystemd0=247.1-4 libtinfo6=6.2+20201114-1 libtirpc-common=1.2.6-3 libtirpc-dev=1.2.6-3 libtirpc3=1.2.6-3 libtool=2.4.6-14 libtsan0=10.2.1-1 libubsan1=10.2.1-1 libuchardet0=0.0.7-1 libudev1=247.1-4 libunistring2=0.9.10-4 libuuid1=2.36.1-3 libxml2=2.9.10+dfsg-6.3+b1 libzstd1=1.4.5+dfsg-4 linux-libc-dev=5.9.15-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-4 mailcap=3.67 make=4.3-4 man-db=2.9.3-2 mawk=1.3.4.20200120-2 media-types=1.0.1 mime-support=3.66 ncurses-base=6.2+20201114-1 ncurses-bin=6.2+20201114-1 patch=2.7.6-6 perl=5.32.0-6 perl-base=5.32.0-6 perl-modules-5.32=5.32.0-6 po-debconf=1.0.21 python3=3.9.0-4 python3-all=3.9.0-4 python3-all-dev=3.9.0-4 python3-dev=3.9.0-4 python3-distutils=3.8.6-1 python3-lib2to3=3.8.6-1 python3-minimal=3.9.0-4 python3-pkg-resources=50.3.0-1 python3-setuptools=50.3.0-1 python3.9=3.9.1-1 python3.9-dev=3.9.1-1 python3.9-minimal=3.9.1-1 readline-common=8.1-1 sed=4.7-1 sensible-utils=0.0.12+nmu1 sysvinit-utils=2.96-5 tar=1.32+dfsg-1 tzdata=2020d-1 util-linux=2.36.1-3 xz-utils=5.2.4-1+b1 zlib1g=1:1.2.11.dfsg-2 zlib1g-dev=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20201220T203231Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d mwparserfromhell=0.6-1 && mkdir -p /build/mwparserfromhell-uU98YY && dpkg-source --no-check -x /*.dsc /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6 && chown -R builduser:builduser /build/mwparserfromhell-uU98YY" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6 && env DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1608574397" dpkg-buildpackage -uc -a amd64 --build=any" --customize-hook=sync-out /build/mwparserfromhell-uU98YY /tmp/mwparserfromhell-0.6-1peealj0t bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20201220T203231Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.80S0RpCs_S as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.80S0RpCs_S Reading package lists... Building dependency tree... util-linux is already the newest version (2.36.1-3). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20201220T203231Z unstable/main amd64 libfakeroot amd64 1.25.3-1.1 [47.0 kB] Get:2 http://snapshot.notset.fr/archive/debian/20201220T203231Z unstable/main amd64 fakeroot amd64 1.25.3-1.1 [87.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (754 kB/s) Selecting previously unselected package libfakeroot:amd64. (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 ... 4621 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.25.3-1.1_amd64.deb ... Unpacking libfakeroot:amd64 (1.25.3-1.1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.25.3-1.1_amd64.deb ... Unpacking fakeroot (1.25.3-1.1) ... Setting up libfakeroot:amd64 (1.25.3-1.1) ... Setting up fakeroot (1.25.3-1.1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-6) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20201220T203231Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.80S0RpCs_S Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20201220T203231Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources [11.4 MB] Get:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages [11.1 MB] Fetched 22.6 MB in 19s (1176 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.80S0RpCs_S I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d mwparserfromhell=0.6-1 && mkdir -p /build/mwparserfromhell-uU98YY && dpkg-source --no-check -x /*.dsc /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6 && chown -R builduser:builduser /build/mwparserfromhell-uU98YY"' exec /tmp/mmdebstrap.80S0RpCs_S Reading package lists... NOTICE: 'mwparserfromhell' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/legoktm/mwparserfromhell.git Please use: git clone https://salsa.debian.org/legoktm/mwparserfromhell.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 156 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main mwparserfromhell 0.6-1 (dsc) [2054 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main mwparserfromhell 0.6-1 (tar) [151 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main mwparserfromhell 0.6-1 (diff) [2820 B] Fetched 156 kB in 0s (819 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'mwparserfromhell_0.6-1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting mwparserfromhell in /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6 dpkg-source: info: unpacking mwparserfromhell_0.6.orig.tar.gz dpkg-source: info: unpacking mwparserfromhell_0.6-1.debian.tar.xz I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6 && env DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1608574397" dpkg-buildpackage -uc -a amd64 --build=any"' exec /tmp/mmdebstrap.80S0RpCs_S dpkg-buildpackage: info: source package mwparserfromhell dpkg-buildpackage: info: source version 0.6-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Kunal Mehta dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --with=python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:232: python3.9 setup.py clean running clean removing '/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.9' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary-arch dh binary-arch --with=python3 --buildsystem=pybuild dh_update_autotools_config -a -O--buildsystem=pybuild dh_autoreconf -a -O--buildsystem=pybuild dh_auto_configure -a -O--buildsystem=pybuild I: pybuild base:232: python3.9 setup.py config running config dh_auto_build -a -O--buildsystem=pybuild I: pybuild base:232: /usr/bin/python3 setup.py build running build running build_py creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell copying mwparserfromhell/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell copying mwparserfromhell/string_mixin.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell copying mwparserfromhell/wikicode.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell copying mwparserfromhell/utils.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell copying mwparserfromhell/definitions.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/html_entity.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/heading.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/_base.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/argument.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/tag.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/wikilink.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/template.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/text.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/external_link.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes copying mwparserfromhell/nodes/comment.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list copying mwparserfromhell/smart_list/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list copying mwparserfromhell/smart_list/smart_list.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list copying mwparserfromhell/smart_list/utils.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list copying mwparserfromhell/smart_list/list_proxy.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser copying mwparserfromhell/parser/builder.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser copying mwparserfromhell/parser/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser copying mwparserfromhell/parser/errors.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser copying mwparserfromhell/parser/tokens.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser copying mwparserfromhell/parser/tokenizer.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser copying mwparserfromhell/parser/contexts.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/extras copying mwparserfromhell/nodes/extras/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/extras copying mwparserfromhell/nodes/extras/parameter.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/extras copying mwparserfromhell/nodes/extras/attribute.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/extras running build_ext building 'mwparserfromhell.parser._tokenizer' extension creating build creating build/temp.linux-x86_64-3.9 creating build/temp.linux-x86_64-3.9/mwparserfromhell creating build/temp.linux-x86_64-3.9/mwparserfromhell/parser creating build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c mwparserfromhell/parser/ctokenizer/avl_tree.c -o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/avl_tree.o x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c mwparserfromhell/parser/ctokenizer/definitions.c -o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/definitions.o x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c mwparserfromhell/parser/ctokenizer/tag_data.c -o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tag_data.o x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c mwparserfromhell/parser/ctokenizer/textbuffer.c -o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/textbuffer.o x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c mwparserfromhell/parser/ctokenizer/tok_parse.c -o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tok_parse.o x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c mwparserfromhell/parser/ctokenizer/tok_support.c -o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tok_support.o x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c mwparserfromhell/parser/ctokenizer/tokenizer.c -o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tokenizer.o x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c mwparserfromhell/parser/ctokenizer/tokens.c -o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tokens.o x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -fdebug-prefix-map=/build/mwparserfromhell-uU98YY/mwparserfromhell-0.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/avl_tree.o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/definitions.o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tag_data.o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/textbuffer.o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tok_parse.o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tok_support.o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tokenizer.o build/temp.linux-x86_64-3.9/mwparserfromhell/parser/ctokenizer/tokens.o -o /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/_tokenizer.cpython-39-x86_64-linux-gnu.so dh_auto_test -a -O--buildsystem=pybuild I: pybuild base:232: python3.9 setup.py test running test WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox. running egg_info creating mwparserfromhell.egg-info writing mwparserfromhell.egg-info/PKG-INFO writing dependency_links to mwparserfromhell.egg-info/dependency_links.txt writing top-level names to mwparserfromhell.egg-info/top_level.txt writing manifest file 'mwparserfromhell.egg-info/SOURCES.txt' reading manifest file 'mwparserfromhell.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'mwparserfromhell.egg-info/SOURCES.txt' running build_ext copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/_tokenizer.cpython-39-x86_64-linux-gnu.so -> mwparserfromhell/parser test_add (tests.test_tag.TestTag) test Tag.add() ... ok test_attributes (tests.test_tag.TestTag) test getter for the attributes attribute ... ok test_children (tests.test_tag.TestTag) test Tag.__children__() ... ok test_closing_tag (tests.test_tag.TestTag) test getter/setter for the closing_tag attribute ... ok test_closing_wiki_markup (tests.test_tag.TestTag) test getter/setter for closing_wiki_markup attribute ... ok test_contents (tests.test_tag.TestTag) test getter/setter for the contents attribute ... ok test_get (tests.test_tag.TestTag) test Tag.get() ... ok test_has (tests.test_tag.TestTag) test Tag.has() ... ok test_implicit (tests.test_tag.TestTag) test getter/setter for the implicit attribute ... ok test_invalid (tests.test_tag.TestTag) test getter/setter for the invalid attribute ... ok test_padding (tests.test_tag.TestTag) test getter/setter for the padding attribute ... ok test_remove (tests.test_tag.TestTag) test Tag.remove() ... ok test_self_closing (tests.test_tag.TestTag) test getter/setter for the self_closing attribute ... ok test_showtree (tests.test_tag.TestTag) test Tag.__showtree__() ... ok test_str (tests.test_tag.TestTag) test Tag.__str__() ... ok test_strip (tests.test_tag.TestTag) test Tag.__strip__() ... ok test_tag (tests.test_tag.TestTag) test getter/setter for the tag attribute ... ok test_wiki_markup (tests.test_tag.TestTag) test getter/setter for the wiki_markup attribute ... ok test_wiki_style_separator (tests.test_tag.TestTag) test getter/setter for wiki_style_separator attribute ... ok test_children (tests.test_argument.TestArgument) test Argument.__children__() ... ok test_default (tests.test_argument.TestArgument) test getter/setter for the default attribute ... ok test_name (tests.test_argument.TestArgument) test getter/setter for the name attribute ... ok test_showtree (tests.test_argument.TestArgument) test Argument.__showtree__() ... ok test_str (tests.test_argument.TestArgument) test Argument.__str__() ... ok test_strip (tests.test_argument.TestArgument) test Argument.__strip__() ... ok test_arguments01_blank (tests.test_ctokenizer.TestCTokenizer) argument with no content ... ok test_arguments02_blank_with_default (tests.test_ctokenizer.TestCTokenizer) argument with no content but a pipe ... ok test_arguments03_basic (tests.test_ctokenizer.TestCTokenizer) simplest type of argument ... ok test_arguments04_default (tests.test_ctokenizer.TestCTokenizer) argument with a default value ... ok test_arguments05_blank_with_multiple_defaults (tests.test_ctokenizer.TestCTokenizer) no content, multiple pipes ... ok test_arguments06_multiple_defaults (tests.test_ctokenizer.TestCTokenizer) multiple values separated by pipes ... ok test_arguments07_newline (tests.test_ctokenizer.TestCTokenizer) newline as only content ... ok test_arguments08_right_braces (tests.test_ctokenizer.TestCTokenizer) multiple } scattered throughout text ... ok test_arguments09_right_braces_default (tests.test_ctokenizer.TestCTokenizer) multiple } scattered throughout text, with a default value ... ok test_arguments10_nested (tests.test_ctokenizer.TestCTokenizer) an argument nested within another argument ... ok test_arguments11_invalid_braces (tests.test_ctokenizer.TestCTokenizer) invalid argument: multiple braces that are not part of a template or argument ... ok test_arguments12_incomplete_open_only (tests.test_ctokenizer.TestCTokenizer) incomplete arguments: just an open ... ok test_arguments13_incomplete_open_text (tests.test_ctokenizer.TestCTokenizer) incomplete arguments: an open with some text ... ok test_arguments14_incomplete_open_text_pipe (tests.test_ctokenizer.TestCTokenizer) incomplete arguments: an open, text, then a pipe ... ok test_arguments15_incomplete_open_pipe (tests.test_ctokenizer.TestCTokenizer) incomplete arguments: an open, then a pipe ... ok test_arguments16_incomplete_open_pipe_text (tests.test_ctokenizer.TestCTokenizer) incomplete arguments: an open, then a pipe, then text ... ok test_arguments17_incomplete_open_pipes_text (tests.test_ctokenizer.TestCTokenizer) incomplete arguments: a pipe, then text then two pipes ... ok test_arguments18_incomplete_open_partial_close (tests.test_ctokenizer.TestCTokenizer) incomplete arguments: an open, then one right brace ... ok test_arguments19_incomplete_preserve_previous (tests.test_ctokenizer.TestCTokenizer) incomplete arguments: a valid argument followed by an invalid one ... ok test_comments1_blank (tests.test_ctokenizer.TestCTokenizer) a blank comment ... ok test_comments2_basic (tests.test_ctokenizer.TestCTokenizer) a basic comment ... ok test_comments3_tons_of_nonsense (tests.test_ctokenizer.TestCTokenizer) a comment with tons of ignorable garbage in it ... ok test_comments4_incomplete_blank (tests.test_ctokenizer.TestCTokenizer) a comment that doesn't close ... ok test_comments5_incomplete_text (tests.test_ctokenizer.TestCTokenizer) a comment that doesn't close, with text ... ok test_comments6_incomplete_partial_close (tests.test_ctokenizer.TestCTokenizer) a comment that doesn't close, with a partial close ... ok test_comments7_incomplete_part_only (tests.test_ctokenizer.TestCTokenizer) a comment that only has a < and ! ... ok test_external_links01_basic (tests.test_ctokenizer.TestCTokenizer) basic external link ... ok test_external_links02_basic_brackets (tests.test_ctokenizer.TestCTokenizer) basic external link in brackets ... ok test_external_links03_brackets_space (tests.test_ctokenizer.TestCTokenizer) basic external link in brackets, with a space after ... ok test_external_links04_brackets_title (tests.test_ctokenizer.TestCTokenizer) basic external link in brackets, with a title ... ok test_external_links05_brackets_multiword_title (tests.test_ctokenizer.TestCTokenizer) basic external link in brackets, with a multi-word title ... ok test_external_links06_brackets_adjacent (tests.test_ctokenizer.TestCTokenizer) three adjacent bracket-enclosed external links ... ok test_external_links07_brackets_newline_before (tests.test_ctokenizer.TestCTokenizer) bracket-enclosed link with a newline before the title ... ok test_external_links08_brackets_newline_inside (tests.test_ctokenizer.TestCTokenizer) bracket-enclosed link with a newline in the title ... ok test_external_links09_brackets_newline_after (tests.test_ctokenizer.TestCTokenizer) bracket-enclosed link with a newline after the title ... ok test_external_links10_brackets_space_before (tests.test_ctokenizer.TestCTokenizer) bracket-enclosed link with a space before the URL ... ok test_external_links11_brackets_title_like_url (tests.test_ctokenizer.TestCTokenizer) bracket-enclosed link with a title that looks like a URL ... ok test_external_links12_brackets_recursive (tests.test_ctokenizer.TestCTokenizer) bracket-enclosed link with a bracket-enclosed link as the title ... ok test_external_links13_brackets_recursive_2 (tests.test_ctokenizer.TestCTokenizer) bracket-enclosed link with a double bracket-enclosed link as the title ... ok test_external_links14_period_after (tests.test_ctokenizer.TestCTokenizer) a period after a free link that is excluded ... ok test_external_links15_colons_after (tests.test_ctokenizer.TestCTokenizer) colons after a free link that are excluded ... ok test_external_links16_close_paren_after_excluded (tests.test_ctokenizer.TestCTokenizer) a closing parenthesis after a free link that is excluded ... ok test_external_links17_close_paren_after_included (tests.test_ctokenizer.TestCTokenizer) a closing parenthesis after a free link that is included because of an opening parenthesis in the URL ... ok test_external_links18_open_bracket_inside (tests.test_ctokenizer.TestCTokenizer) an open bracket inside a free link that causes it to be ended abruptly ... ok test_external_links19_brackets_period_after (tests.test_ctokenizer.TestCTokenizer) a period after a bracket-enclosed link that is included ... ok test_external_links20_brackets_punct_after (tests.test_ctokenizer.TestCTokenizer) punctuation after a bracket-enclosed link that are included ... ok test_external_links21_brackets_close_paren_after_included (tests.test_ctokenizer.TestCTokenizer) a closing parenthesis after a bracket-enclosed link that is included ... ok test_external_links22_brackets_close_paren_after_included_2 (tests.test_ctokenizer.TestCTokenizer) a closing parenthesis after a bracket-enclosed link that is also included ... ok test_external_links23_brackets_open_bracket_inside (tests.test_ctokenizer.TestCTokenizer) an open bracket inside a bracket-enclosed link that is also included ... ok test_external_links24_adjacent_space (tests.test_ctokenizer.TestCTokenizer) two free links separated by a space ... ok test_external_links25_adjacent_newline (tests.test_ctokenizer.TestCTokenizer) two free links separated by a newline ... ok test_external_links26_adjacent_close_bracket (tests.test_ctokenizer.TestCTokenizer) two free links separated by a close bracket ... ok test_external_links27_html_entity_in_url (tests.test_ctokenizer.TestCTokenizer) a HTML entity parsed correctly inside a free link ... ok test_external_links28_template_in_url (tests.test_ctokenizer.TestCTokenizer) a template parsed correctly inside a free link ... ok test_external_links29_argument_in_url (tests.test_ctokenizer.TestCTokenizer) an argument parsed correctly inside a free link ... ok test_external_links30_wikilink_in_url (tests.test_ctokenizer.TestCTokenizer) a wikilink that destroys a free link ... ok test_external_links31_external_link_in_url (tests.test_ctokenizer.TestCTokenizer) a bracketed link that destroys a free link ... ok test_external_links32_spaces_padding (tests.test_ctokenizer.TestCTokenizer) spaces padding a free link ... ok test_external_links33_text_and_spaces_padding (tests.test_ctokenizer.TestCTokenizer) text and spaces padding a free link ... ok test_external_links34_template_before (tests.test_ctokenizer.TestCTokenizer) a template before a free link ... ok test_external_links35_spaces_padding_no_slashes (tests.test_ctokenizer.TestCTokenizer) spaces padding a free link with no slashes after the colon ... ok test_external_links36_text_and_spaces_padding_no_slashes (tests.test_ctokenizer.TestCTokenizer) text and spaces padding a free link with no slashes after the colon ... ok test_external_links37_template_before_no_slashes (tests.test_ctokenizer.TestCTokenizer) a template before a free link with no slashes after the colon ... ok test_external_links38_no_slashes (tests.test_ctokenizer.TestCTokenizer) a free link with no slashes after the colon ... ok test_external_links39_slashes_optional (tests.test_ctokenizer.TestCTokenizer) a free link using a scheme that doesn't need slashes, but has them anyway ... ok test_external_links40_short (tests.test_ctokenizer.TestCTokenizer) a very short free link ... ok test_external_links41_slashes_missing (tests.test_ctokenizer.TestCTokenizer) slashes missing from a free link with a scheme that requires them ... ok test_external_links42_no_scheme_but_slashes (tests.test_ctokenizer.TestCTokenizer) no scheme in a free link, but slashes (protocol-relative free links are not supported) ... ok test_external_links43_no_scheme_but_colon (tests.test_ctokenizer.TestCTokenizer) no scheme in a free link, but a colon ... ok test_external_links44_no_scheme_but_colon_and_slashes (tests.test_ctokenizer.TestCTokenizer) no scheme in a free link, but a colon and slashes ... ok test_external_links45_fake_scheme_no_slashes (tests.test_ctokenizer.TestCTokenizer) a nonexistent scheme in a free link, without slashes ... ok test_external_links46_fake_scheme_slashes (tests.test_ctokenizer.TestCTokenizer) a nonexistent scheme in a free link, with slashes ... ok test_external_links47_fake_scheme_brackets_no_slashes (tests.test_ctokenizer.TestCTokenizer) a nonexistent scheme in a bracketed link, without slashes ... ok test_external_links48_fake_scheme_brackets_slashes (tests.test_ctokenizer.TestCTokenizer) #=a nonexistent scheme in a bracketed link, with slashes ... ok test_external_links49_interrupted_scheme (tests.test_ctokenizer.TestCTokenizer) an otherwise valid scheme with something in the middle of it, in a free link ... ok test_external_links50_interrupted_scheme_brackets (tests.test_ctokenizer.TestCTokenizer) an otherwise valid scheme with something in the middle of it, in a bracketed link ... ok test_external_links51_no_slashes_brackets (tests.test_ctokenizer.TestCTokenizer) no slashes after the colon in a bracketed link ... ok test_external_links52_space_before_no_slashes_brackets (tests.test_ctokenizer.TestCTokenizer) a space before a bracketed link with no slashes after the colon ... ok test_external_links53_slashes_optional_brackets (tests.test_ctokenizer.TestCTokenizer) a bracketed link using a scheme that doesn't need slashes, but has them anyway ... ok test_external_links54_short_brackets (tests.test_ctokenizer.TestCTokenizer) a very short link in brackets ... ok test_external_links55_slashes_missing_brackets (tests.test_ctokenizer.TestCTokenizer) slashes missing from a scheme that requires them in a bracketed link ... ok test_external_links56_protcol_relative (tests.test_ctokenizer.TestCTokenizer) a protocol-relative link (in brackets) ... ok test_external_links57_scheme_missing_but_colon_brackets (tests.test_ctokenizer.TestCTokenizer) scheme missing from a bracketed link, but with a colon ... ok test_external_links58_scheme_missing_but_colon_slashes_brackets (tests.test_ctokenizer.TestCTokenizer) scheme missing from a bracketed link, but with a colon and slashes ... ok test_external_links59_unclosed_protocol_relative (tests.test_ctokenizer.TestCTokenizer) an unclosed protocol-relative bracketed link ... ok test_external_links60_space_before_protcol_relative (tests.test_ctokenizer.TestCTokenizer) a space before a protocol-relative bracketed link ... ok test_external_links61_unclosed_just_scheme (tests.test_ctokenizer.TestCTokenizer) an unclosed bracketed link, ending after the scheme ... ok test_external_links62_unclosed_scheme_colon (tests.test_ctokenizer.TestCTokenizer) an unclosed bracketed link, ending after the colon ... ok test_external_links63_unclosed_scheme_colon_slashes (tests.test_ctokenizer.TestCTokenizer) an unclosed bracketed link, ending after the slashes ... ok test_external_links64_incomplete_bracket (tests.test_ctokenizer.TestCTokenizer) just an open bracket ... ok test_external_links65_incomplete_scheme_colon (tests.test_ctokenizer.TestCTokenizer) a free link with just a scheme and a colon ... ok test_external_links66_incomplete_scheme_colon_slashes (tests.test_ctokenizer.TestCTokenizer) a free link with just a scheme, colon, and slashes ... ok test_external_links67_brackets_scheme_but_no_url (tests.test_ctokenizer.TestCTokenizer) brackets around a scheme and a colon ... ok test_external_links68_brackets_scheme_slashes_but_no_url (tests.test_ctokenizer.TestCTokenizer) brackets around a scheme, colon, and slashes ... ok test_external_links69_brackets_scheme_title_but_no_url (tests.test_ctokenizer.TestCTokenizer) brackets around a scheme, colon, and slashes, with a title ... ok test_headings01_level_1 (tests.test_ctokenizer.TestCTokenizer) a basic level-1 heading ... ok test_headings02_level_2 (tests.test_ctokenizer.TestCTokenizer) a basic level-2 heading ... ok test_headings03_level_3 (tests.test_ctokenizer.TestCTokenizer) a basic level-3 heading ... ok test_headings04_level_4 (tests.test_ctokenizer.TestCTokenizer) a basic level-4 heading ... ok test_headings05_level_5 (tests.test_ctokenizer.TestCTokenizer) a basic level-5 heading ... ok test_headings06_level_6 (tests.test_ctokenizer.TestCTokenizer) a basic level-6 heading ... ok test_headings07_level_7 (tests.test_ctokenizer.TestCTokenizer) a level-6 heading that pretends to be a level-7 heading ... ok test_headings08_level_3_2 (tests.test_ctokenizer.TestCTokenizer) a level-2 heading that pretends to be a level-3 heading ... ok test_headings09_level_4_6 (tests.test_ctokenizer.TestCTokenizer) a level-4 heading that pretends to be a level-6 heading ... ok test_headings10_newline_before (tests.test_ctokenizer.TestCTokenizer) a heading that starts after a newline ... ok test_headings11_text_after (tests.test_ctokenizer.TestCTokenizer) text on the same line after ... ok test_headings12_invalid_text_before (tests.test_ctokenizer.TestCTokenizer) invalid headings: text on the same line before ... ok test_headings13_invalid_newline_middle (tests.test_ctokenizer.TestCTokenizer) invalid headings: newline in the middle ... ok test_headings14_invalid_newline_end (tests.test_ctokenizer.TestCTokenizer) invalid headings: newline in the middle ... ok test_headings15_invalid_nesting (tests.test_ctokenizer.TestCTokenizer) invalid headings: attempts at nesting ... ok test_headings16_incomplete (tests.test_ctokenizer.TestCTokenizer) a heading that starts but doesn't finish ... ok test_html_entities01_named (tests.test_ctokenizer.TestCTokenizer) a basic named HTML entity ... ok test_html_entities02_numeric_decimal (tests.test_ctokenizer.TestCTokenizer) a basic decimal HTML entity ... ok test_html_entities03_numeric_hexadecimal_x (tests.test_ctokenizer.TestCTokenizer) a basic hexadecimal HTML entity, using 'x' as a signal ... ok test_html_entities04_numeric_hexadecimal_X (tests.test_ctokenizer.TestCTokenizer) a basic hexadecimal HTML entity, using 'X' as a signal ... ok test_html_entities05_numeric_decimal_max (tests.test_ctokenizer.TestCTokenizer) the maximum acceptable decimal numeric entity ... ok test_html_entities06_numeric_hex_max (tests.test_ctokenizer.TestCTokenizer) the maximum acceptable hexadecimal numeric entity ... ok test_html_entities07_numeric_zeros (tests.test_ctokenizer.TestCTokenizer) zeros accepted at the beginning of a numeric entity ... ok test_html_entities08_numeric_hex_zeros (tests.test_ctokenizer.TestCTokenizer) zeros accepted at the beginning of a hex numeric entity ... ok test_html_entities09_invalid_named_too_long (tests.test_ctokenizer.TestCTokenizer) a named entity that is too long ... ok test_html_entities10_invalid_named_undefined (tests.test_ctokenizer.TestCTokenizer) a named entity that doesn't exist ... ok test_html_entities11_invalid_named_nonascii (tests.test_ctokenizer.TestCTokenizer) a named entity with non-ASCII characters ... ok test_html_entities12_invalid_numeric_out_of_range_1 (tests.test_ctokenizer.TestCTokenizer) a numeric entity that is out of range: < 1 ... ok test_html_entities13_invalid_numeric_out_of_range_2 (tests.test_ctokenizer.TestCTokenizer) a hex numeric entity that is out of range: < 1 ... ok test_html_entities14_invalid_numeric_out_of_range_3 (tests.test_ctokenizer.TestCTokenizer) a numeric entity that is out of range: > 0x10FFFF ... ok test_html_entities15_invalid_numeric_out_of_range_4 (tests.test_ctokenizer.TestCTokenizer) a hex numeric entity that is out of range: > 0x10FFFF ... ok test_html_entities16_invalid_partial_amp (tests.test_ctokenizer.TestCTokenizer) invalid entities: just an ampersand ... ok test_html_entities17_invalid_partial_amp_semicolon (tests.test_ctokenizer.TestCTokenizer) invalid entities: an ampersand and semicolon ... ok test_html_entities18_invalid_partial_amp_pound (tests.test_ctokenizer.TestCTokenizer) invalid entities: just an ampersand, pound sign ... ok test_html_entities19_invalid_partial_amp_pound_x (tests.test_ctokenizer.TestCTokenizer) invalid entities: just an ampersand, pound sign, x ... ok test_html_entities20_invalid_partial_amp_pound_semicolon (tests.test_ctokenizer.TestCTokenizer) invalid entities: an ampersand, pound sign, and semicolon ... ok test_html_entities21_invalid_partial_amp_pound_x_semicolon (tests.test_ctokenizer.TestCTokenizer) invalid entities: an ampersand, pound sign, x, and semicolon ... ok test_html_entities22_invalid_partial_amp_pound_numbers (tests.test_ctokenizer.TestCTokenizer) invalid entities: an ampersand, pound sign, numbers ... ok test_html_entities23_invalid_partial_amp_pound_x_semicolon (tests.test_ctokenizer.TestCTokenizer) invalid entities: an ampersand, pound sign, and x ... ok test_integration01_empty (tests.test_ctokenizer.TestCTokenizer) sanity check that parsing an empty string yields nothing ... ok test_integration02_template_argument_mix (tests.test_ctokenizer.TestCTokenizer) an ambiguous mix of templates and arguments ... ok test_integration03_link_in_template_name (tests.test_ctokenizer.TestCTokenizer) a wikilink inside a template name, which breaks the template ... ok test_integration04_rich_heading (tests.test_ctokenizer.TestCTokenizer) a heading with templates/wikilinks in it ... ok test_integration05_html_entity_with_template (tests.test_ctokenizer.TestCTokenizer) a HTML entity with a template embedded inside ... ok test_integration06_html_entity_with_comment (tests.test_ctokenizer.TestCTokenizer) a HTML entity with a comment embedded inside ... ok test_integration07_rich_tags (tests.test_ctokenizer.TestCTokenizer) a HTML tag with tons of other things in it ... ok test_integration08_wildcard (tests.test_ctokenizer.TestCTokenizer) a wildcard assortment of various things ... ok test_integration09_wildcard_redux (tests.test_ctokenizer.TestCTokenizer) an even wilder assortment of various things ... ok test_integration10_link_inside_dl (tests.test_ctokenizer.TestCTokenizer) an external link inside a def list, such that the external link is parsed ... ok test_integration11_link_inside_dl_2 (tests.test_ctokenizer.TestCTokenizer) an external link inside a def list, such that the external link is not parsed ... ok test_integration12_link_inside_template (tests.test_ctokenizer.TestCTokenizer) an external link nested inside a template, before the end ... ok test_integration13_link_inside_template_2 (tests.test_ctokenizer.TestCTokenizer) an external link nested inside a template, before a separator ... ok test_integration14_link_inside_template_3 (tests.test_ctokenizer.TestCTokenizer) an external link nested inside a template, before an equal sign ... ok test_integration15_link_inside_argument (tests.test_ctokenizer.TestCTokenizer) an external link nested inside an argument ... ok test_integration16_link_inside_heading (tests.test_ctokenizer.TestCTokenizer) an external link nested inside a heading ... ok test_integration17_link_inside_tag_body (tests.test_ctokenizer.TestCTokenizer) an external link nested inside the body of a tag ... ok test_integration18_link_inside_tag_style (tests.test_ctokenizer.TestCTokenizer) an external link nested inside style tags ... ok test_integration19_style_tag_inside_link (tests.test_ctokenizer.TestCTokenizer) style tags disrupting an external link ... ok test_integration20_comment_inside_link (tests.test_ctokenizer.TestCTokenizer) an HTML comment inside an external link ... ok test_integration21_bracketed_link_inside_template (tests.test_ctokenizer.TestCTokenizer) a bracketed external link nested inside a template, before the end ... ok test_integration22_comment_inside_bracketed_link (tests.test_ctokenizer.TestCTokenizer) an HTML comment inside a bracketed external link ... ok test_integration23_wikilink_inside_external_link (tests.test_ctokenizer.TestCTokenizer) a wikilink inside an external link, which the parser considers valid (see issue #61) ... ok test_integration24_external_link_inside_wikilink (tests.test_ctokenizer.TestCTokenizer) an external link inside a wikilink, valid in the case of images (see issue #62) ... ok test_integration25_external_link_inside_wikilink_brackets (tests.test_ctokenizer.TestCTokenizer) an external link with brackets inside a wikilink ... ok test_integration26_external_link_inside_wikilink_title (tests.test_ctokenizer.TestCTokenizer) an external link inside a wikilink title, which is not parsed ... ok test_integration27_italics_inside_external_link_inside_incomplete_list (tests.test_ctokenizer.TestCTokenizer) italic text inside an external link inside an incomplete list ... ok test_integration28_nodes_inside_external_link_after_punct (tests.test_ctokenizer.TestCTokenizer) various complex nodes inside an external link following punctuation ... ok test_integration29_newline_and_comment_in_template_name (tests.test_ctokenizer.TestCTokenizer) a template name containing a newline followed by a comment ... ok test_integration30_newline_and_comment_in_template_name_2 (tests.test_ctokenizer.TestCTokenizer) a template name containing a newline followed by a comment ... ok test_integration31_newline_and_comment_in_template_name_3 (tests.test_ctokenizer.TestCTokenizer) a template name containing a newline followed by a comment ... ok test_integration32_newline_and_comment_in_template_name_4 (tests.test_ctokenizer.TestCTokenizer) a template name containing a newline followed by a comment ... ok test_integration33_newline_and_comment_in_template_name_5 (tests.test_ctokenizer.TestCTokenizer) a template name containing a newline followed by a comment ... ok test_integration34_newline_and_comment_in_template_name_6 (tests.test_ctokenizer.TestCTokenizer) a template name containing a newline followed by a comment ... ok test_integration35_newline_and_comment_in_template_name_7 (tests.test_ctokenizer.TestCTokenizer) a template name containing a newline followed by a comment ... ok test_integration36_newline_and_comment_in_template_name_8 (tests.test_ctokenizer.TestCTokenizer) a template name containing a newline followed by a comment ... ok test_integration37_tag_in_link_title (tests.test_ctokenizer.TestCTokenizer) HTML tags are invalid in link titles, even when complete ... ok test_integration38_tag_in_template_name (tests.test_ctokenizer.TestCTokenizer) HTML tags are invalid in template names, even when complete ... ok test_integration39_tag_in_link_text (tests.test_ctokenizer.TestCTokenizer) HTML tags are valid in link text ... ok test_integration40_comment_in_link_title (tests.test_ctokenizer.TestCTokenizer) comments are valid in link titles ... ok test_integration41_incomplete_comment_in_link_title (tests.test_ctokenizer.TestCTokenizer) incomplete comments are invalid in link titles ... ok test_integration42_incomplete_comment_in_link_title_2 (tests.test_ctokenizer.TestCTokenizer) incomplete comments are invalid in link titles ... ok test_integration43_incomplete_comment_in_link_title_3 (tests.test_ctokenizer.TestCTokenizer) incomplete comments are invalid in link titles ... ok test_integration44_incomplete_comment_in_link_title_4 (tests.test_ctokenizer.TestCTokenizer) incomplete comments are invalid in link titles ... ok test_integration45_incomplete_comment_in_link_title_5 (tests.test_ctokenizer.TestCTokenizer) incomplete comments are invalid in link titles ... ok test_integration46_incomplete_comment_in_link_title_6 (tests.test_ctokenizer.TestCTokenizer) incomplete comments are invalid in link titles ... ok test_integration47_wikilink_to_external_link_fallback (tests.test_ctokenizer.TestCTokenizer) an external link enclosed in an extra pair of brackets (see issue #120) ... ok test_integration48_wikilink_to_external_link_fallback_2 (tests.test_ctokenizer.TestCTokenizer) an external link enclosed in an extra pair of brackets (see issue #120) ... ok test_integration49_tables_in_templates (tests.test_ctokenizer.TestCTokenizer) catch error handling mistakes when wikitables are inside templates ... ok test_integration50_tables_in_templates_2 (tests.test_ctokenizer.TestCTokenizer) catch error handling mistakes when wikitables are inside templates ... ok test_integration51_many_invalid_nested_tags (tests.test_ctokenizer.TestCTokenizer) many unending nested tags that should be treated as plain text, followed by valid wikitext (see issues #42, #183) ... ok test_integration52_nested_templates_and_style_tags (tests.test_ctokenizer.TestCTokenizer) many nested templates and style tags, testing edge case behavior and error recovery near the recursion depth limit (see issue #224) ... ok test_tables01_empty_table (tests.test_ctokenizer.TestCTokenizer) parsing an empty table ... ok test_tables02_inline_table (tests.test_ctokenizer.TestCTokenizer) tables with a close on the same line are not valid ... ok test_tables03_no_table_close_simple (tests.test_ctokenizer.TestCTokenizer) no table close on inline table ... ok test_tables04_no_table_close_newline (tests.test_ctokenizer.TestCTokenizer) no table close with a newline ... ok test_tables05_no_table_close_inside_cell (tests.test_ctokenizer.TestCTokenizer) no table close while inside of a cell ... ok test_tables06_no_table_close_inside_cell_after_newline (tests.test_ctokenizer.TestCTokenizer) no table close while inside of a cell after a newline ... ok test_tables07_no_table_close_inside_cell_with_attributes (tests.test_ctokenizer.TestCTokenizer) no table close while inside of a cell with attributes ... ok test_tables08_no_table_close_inside_row (tests.test_ctokenizer.TestCTokenizer) no table close while inside of a row ... ok test_tables09_no_table_close_inside_row_after_newline (tests.test_ctokenizer.TestCTokenizer) no table close while inside of a row after a newline ... ok test_tables10_no_table_close_row_and_cell (tests.test_ctokenizer.TestCTokenizer) no table close while inside a cell inside a row ... ok test_tables11_no_table_close_attributes (tests.test_ctokenizer.TestCTokenizer) don't parse attributes as attributes if the table doesn't exist ... ok test_tables12_no_table_close_unclosed_attributes (tests.test_ctokenizer.TestCTokenizer) don't parse unclosed attributes if the table doesn't exist ... ok test_tables13_no_table_close_row_attributes (tests.test_ctokenizer.TestCTokenizer) don't parse row attributes as attributes if the table doesn't exist ... ok test_tables14_no_table_close_cell (tests.test_ctokenizer.TestCTokenizer) don't parse cells if the table doesn't close ... ok test_tables15_crazy_no_table_close (tests.test_ctokenizer.TestCTokenizer) lots of opened wiki syntax without closes ... ok test_tables16_leading_whitespace_table (tests.test_ctokenizer.TestCTokenizer) handle leading whitespace for a table ... ok test_tables17_whitespace_after_table (tests.test_ctokenizer.TestCTokenizer) handle whitespace after a table close ... ok test_tables18_different_whitespace_after_table (tests.test_ctokenizer.TestCTokenizer) handle spaces after a table close ... ok test_tables19_characters_after_table (tests.test_ctokenizer.TestCTokenizer) handle characters after a table close ... ok test_tables20_characters_after_inline_table (tests.test_ctokenizer.TestCTokenizer) handle characters after an inline table close ... ok test_tables21_leading_characters_table (tests.test_ctokenizer.TestCTokenizer) don't parse as a table when leading characters are not newline or whitespace ... ok test_tables22_table_row_simple (tests.test_ctokenizer.TestCTokenizer) simple table row ... ok test_tables23_table_row_multiple (tests.test_ctokenizer.TestCTokenizer) simple table row ... ok test_tables24_table_cell_simple (tests.test_ctokenizer.TestCTokenizer) simple table cell ... ok test_tables25_table_cell_inline (tests.test_ctokenizer.TestCTokenizer) multiple inline table cells ... ok test_tables26_table_cell_multiple (tests.test_ctokenizer.TestCTokenizer) multiple table cells (non-inline) ... ok test_tables27_table_header_simple (tests.test_ctokenizer.TestCTokenizer) simple header cell ... ok test_tables28_table_header_inline (tests.test_ctokenizer.TestCTokenizer) multiple inline header cells ... ok test_tables29_table_header_multiple (tests.test_ctokenizer.TestCTokenizer) multiple table header cells (non-inline) ... ok test_tables30_nested_cells_and_rows (tests.test_ctokenizer.TestCTokenizer) combination of cells and rows in a table ... ok test_tables31_table_cell_fake_close (tests.test_ctokenizer.TestCTokenizer) looks like a table close but is not ... ok test_tables32_table_cell_more_fake_close (tests.test_ctokenizer.TestCTokenizer) looks like a table close but is not ... ok test_tables33_table_cell_extra_close (tests.test_ctokenizer.TestCTokenizer) process second close as text ... ok test_tables34_nowiki_inside_table (tests.test_ctokenizer.TestCTokenizer) nowiki handles pipe characters in tables ... ok test_tables35_table_text_outside_cell (tests.test_ctokenizer.TestCTokenizer) parse text inside table but outside of a cell ... ok test_tables36_no_table_cell_with_leading_characters (tests.test_ctokenizer.TestCTokenizer) fail to create a table cell when there are leading non-whitespace characters ... ok test_tables37_no_table_row_with_leading_characters (tests.test_ctokenizer.TestCTokenizer) fail to create a table row when there are leading non-whitespace characters ... ok test_tables38_template_inside_table_cell (tests.test_ctokenizer.TestCTokenizer) template within table cell ... ok test_tables39_table_cell_attributes (tests.test_ctokenizer.TestCTokenizer) parse table cell style attributes ... ok test_tables40_table_cell_empty_attributes (tests.test_ctokenizer.TestCTokenizer) parse table cell with style markers but no attributes ... ok test_tables41_table_cell_with_dash (tests.test_ctokenizer.TestCTokenizer) parse a situation in which a cell line looks like a row line ... ok test_tables42_table_cell_attributes_quote_with_pipe (tests.test_ctokenizer.TestCTokenizer) pipe inside an attribute quote should still be used as a style separator ... ok test_tables43_table_cell_attributes_name_with_pipe (tests.test_ctokenizer.TestCTokenizer) pipe inside an attribute name should still be used as a style separator ... ok test_tables44_table_cell_attributes_pipe_after_equals (tests.test_ctokenizer.TestCTokenizer) pipe inside an attribute should still be used as a style separator after an equals ... ok test_tables45_table_cell_attributes_templates (tests.test_ctokenizer.TestCTokenizer) pipe inside attributes shouldn't be style separator ... ok test_tables46_header_cell_attributes (tests.test_ctokenizer.TestCTokenizer) parse header cell style attributes ... ok test_tables47_inline_cell_attributes (tests.test_ctokenizer.TestCTokenizer) parse cell style attributes of inline cells ... ok test_tables48_table_row_attributes (tests.test_ctokenizer.TestCTokenizer) parse table row style attributes ... ok test_tables49_table_row_attributes_crazy_whitespace (tests.test_ctokenizer.TestCTokenizer) parse table row style attributes with different whitespace ... ok test_tables50_table_attributes (tests.test_ctokenizer.TestCTokenizer) parse table style attributes ... ok test_tables51_inline_table_attributes (tests.test_ctokenizer.TestCTokenizer) handle attributes in inline tables ... ok test_tables52_table_incorrect_attributes (tests.test_ctokenizer.TestCTokenizer) parse incorrect table style attributes ... ok test_tables53_templates_in_table_attribute (tests.test_ctokenizer.TestCTokenizer) templates in the attributes of a table, after the start ... ok test_tables54_templates_in_table_attribute_2 (tests.test_ctokenizer.TestCTokenizer) templates in the attributes of a table, after the start ... ok test_tables55_inappropriate_marker_at_line_start (tests.test_ctokenizer.TestCTokenizer) an inappropriate marker (a right bracket) at the start of a line in the table ... ok test_tables56_fake_close_near_start (tests.test_ctokenizer.TestCTokenizer) a fake closing token at the end of the first line in the table ... ok test_tables57_fake_close_near_start_2 (tests.test_ctokenizer.TestCTokenizer) a fake closing token at the end of the first line in the table ... ok test_tables58_junk_after_table_start (tests.test_ctokenizer.TestCTokenizer) ignore more junk on the first line of the table ... ok test_tables59_junk_after_table_row (tests.test_ctokenizer.TestCTokenizer) ignore junk on the first line of a table row ... ok test_tables60_incomplete_nested_open_only (tests.test_ctokenizer.TestCTokenizer) many nested incomplete tables: table open only ... ok test_tables61_incomplete_nested_open_and_row (tests.test_ctokenizer.TestCTokenizer) many nested incomplete tables: table open and row separator (see issue #206) ... ok test_tags01_basic (tests.test_ctokenizer.TestCTokenizer) a basic tag with an open and close ... ok test_tags02_basic_selfclosing (tests.test_ctokenizer.TestCTokenizer) a basic self-closing tag ... ok test_tags03_content (tests.test_ctokenizer.TestCTokenizer) a tag with some content in the middle ... ok test_tags04_padded_open (tests.test_ctokenizer.TestCTokenizer) a tag with some padding in the open tag ... ok test_tags05_padded_close (tests.test_ctokenizer.TestCTokenizer) a tag with some padding in the close tag ... ok test_tags06_padded_selfclosing (tests.test_ctokenizer.TestCTokenizer) a self-closing tag with padding ... ok test_tags07_attribute (tests.test_ctokenizer.TestCTokenizer) a tag with a single attribute ... ok test_tags08_attribute_value (tests.test_ctokenizer.TestCTokenizer) a tag with a single attribute with a value ... ok test_tags09_attribute_quoted (tests.test_ctokenizer.TestCTokenizer) a tag with a single quoted attribute ... ok test_tags10_attribute_single_quoted (tests.test_ctokenizer.TestCTokenizer) a tag with a single singly-quoted attribute ... ok test_tags11_attribute_hyphen (tests.test_ctokenizer.TestCTokenizer) a tag with a single attribute, containing a hyphen ... ok test_tags12_attribute_quoted_hyphen (tests.test_ctokenizer.TestCTokenizer) a tag with a single quoted attribute, containing a hyphen ... ok test_tags13_attribute_selfclosing (tests.test_ctokenizer.TestCTokenizer) a self-closing tag with a single attribute ... ok test_tags14_attribute_selfclosing_value (tests.test_ctokenizer.TestCTokenizer) a self-closing tag with a single attribute with a value ... ok test_tags15_attribute_selfclosing_value_quoted (tests.test_ctokenizer.TestCTokenizer) a self-closing tag with a single quoted attribute ... ok test_tags16_nested_tag (tests.test_ctokenizer.TestCTokenizer) a tag nested within the attributes of another ... ok test_tags17_nested_tag_quoted (tests.test_ctokenizer.TestCTokenizer) a tag nested within the attributes of another, quoted ... ok test_tags18_nested_troll_tag (tests.test_ctokenizer.TestCTokenizer) a bogus tag that appears to be nested within the attributes of another ... ok test_tags19_nested_troll_tag_quoted (tests.test_ctokenizer.TestCTokenizer) a bogus tag that appears to be nested within the attributes of another, quoted ... ok test_tags20_nested_tag_selfclosing (tests.test_ctokenizer.TestCTokenizer) a tag nested within the attributes of another; outer tag implicitly self-closing ... ok test_tags21_invalid_space_begin_open (tests.test_ctokenizer.TestCTokenizer) invalid tag: a space at the beginning of the open tag ... ok test_tags22_invalid_space_begin_close (tests.test_ctokenizer.TestCTokenizer) invalid tag: a space at the beginning of the close tag ... ok test_tags23_valid_space_end (tests.test_ctokenizer.TestCTokenizer) valid tag: spaces at the ends of both the open and close tags ... ok test_tags24_invalid_template_ends (tests.test_ctokenizer.TestCTokenizer) invalid tag: a template at the ends of both the open and close tags ... ok test_tags25_invalid_template_ends_nospace (tests.test_ctokenizer.TestCTokenizer) invalid tag: a template at the ends of both the open and close tags, without spacing ... ok test_tags26_valid_template_end_open (tests.test_ctokenizer.TestCTokenizer) valid tag: a template at the end of the open tag ... ok test_tags27_valid_template_end_open_space_end_close (tests.test_ctokenizer.TestCTokenizer) valid tag: a template at the end of the open tag; whitespace at the end of the close tag ... ok test_tags28_invalid_template_end_open_nospace (tests.test_ctokenizer.TestCTokenizer) invalid tag: a template at the end of the open tag, without spacing ... ok test_tags29_invalid_template_start_close (tests.test_ctokenizer.TestCTokenizer) invalid tag: a template at the beginning of the close tag ... ok test_tags30_invalid_template_start_open (tests.test_ctokenizer.TestCTokenizer) invalid tag: a template at the beginning of the open tag ... ok test_tags31_unclosed_quote (tests.test_ctokenizer.TestCTokenizer) a quoted attribute that is never closed ... ok test_tags32_fake_quote (tests.test_ctokenizer.TestCTokenizer) a fake quoted attribute ... ok test_tags33_fake_quote_complex (tests.test_ctokenizer.TestCTokenizer) a fake quoted attribute, with spaces and templates and links ... ok test_tags34_quotes_in_quotes (tests.test_ctokenizer.TestCTokenizer) singly-quoted text inside a doubly-quoted attribute ... ok test_tags35_quotes_in_quotes_2 (tests.test_ctokenizer.TestCTokenizer) doubly-quoted text inside a singly-quoted attribute ... ok test_tags36_quotes_in_quotes_3 (tests.test_ctokenizer.TestCTokenizer) doubly-quoted text inside a singly-quoted attribute, with backslashes ... ok test_tags37_incomplete_lbracket (tests.test_ctokenizer.TestCTokenizer) incomplete tags: just a left bracket ... ok test_tags38_incomplete_lbracket_junk (tests.test_ctokenizer.TestCTokenizer) incomplete tags: just a left bracket, surrounded by stuff ... ok test_tags39_incomplete_unclosed_open (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed open tag ... ok test_tags40_incomplete_unclosed_open_space (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed open tag, space ... ok test_tags41_incomplete_unclosed_open_unnamed_attr (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed open tag, unnamed attribute ... ok test_tags42_incomplete_unclosed_open_attr_equals (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed open tag, attribute, equal sign ... ok test_tags43_incomplete_unclosed_open_attr_equals_quoted (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed open tag, attribute, equal sign, quote ... ok test_tags44_incomplete_unclosed_open_attr (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed open tag, attribute with a key/value ... ok test_tags45_incomplete_unclosed_open_attr_quoted (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed open tag, attribute with a key/value, quoted ... ok test_tags46_incomplete_open (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag ... ok test_tags47_incomplete_open_unnamed_attr (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, unnamed attribute ... ok test_tags48_incomplete_open_attr_equals (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, attribute, equal sign ... ok test_tags49_incomplete_open_attr (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, attribute with a key/value ... ok test_tags50_incomplete_open_attr_quoted (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, attribute with a key/value, quoted ... ok test_tags51_incomplete_open_text (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, text ... ok test_tags52_incomplete_open_attr_text (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, attribute with a key/value, text ... ok test_tags53_incomplete_open_text_lbracket (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, text, left open bracket ... ok test_tags54_incomplete_open_text_lbracket_slash (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, text, left bracket, slash ... ok test_tags55_incomplete_open_text_unclosed_close (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, text, unclosed close ... ok test_tags56_incomplete_open_text_wrong_close (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an open tag, text, wrong close ... ok test_tags57_incomplete_unclosed_close (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed close tag ... ok test_tags58_incomplete_unclosed_close_text (tests.test_ctokenizer.TestCTokenizer) incomplete tags: an unclosed close tag, with text ... ok test_tags59_incomplete_close (tests.test_ctokenizer.TestCTokenizer) incomplete tags: a close tag ... ok test_tags60_incomplete_no_tag_name_open (tests.test_ctokenizer.TestCTokenizer) incomplete tags: no tag name within brackets; just an open ... ok test_tags61_incomplete_no_tag_name_selfclosing (tests.test_ctokenizer.TestCTokenizer) incomplete tags: no tag name within brackets; self-closing ... ok test_tags62_incomplete_no_tag_name_open_close (tests.test_ctokenizer.TestCTokenizer) incomplete tags: no tag name within brackets; open and close ... ok test_tags63_backslash_premature_before (tests.test_ctokenizer.TestCTokenizer) a backslash before a quote before a space ... ok test_tags64_backslash_premature_after (tests.test_ctokenizer.TestCTokenizer) a backslash before a quote after a space ... ok test_tags65_backslash_premature_middle (tests.test_ctokenizer.TestCTokenizer) a backslash before a quote in the middle of a word ... ok test_tags66_backslash_adjacent (tests.test_ctokenizer.TestCTokenizer) escaped quotes next to unescaped quotes ... ok test_tags67_backslash_endquote (tests.test_ctokenizer.TestCTokenizer) backslashes before the end quote, causing the attribute to become unquoted ... ok test_tags68_backslash_double (tests.test_ctokenizer.TestCTokenizer) two adjacent backslashes, which do *not* affect the quote ... ok test_tags69_backslash_triple (tests.test_ctokenizer.TestCTokenizer) three adjacent backslashes, which do *not* affect the quote ... ok test_tags70_backslash_unaffecting (tests.test_ctokenizer.TestCTokenizer) backslashes near quotes, but not immediately adjacent, thus having no effect ... ok test_tags71_unparsable (tests.test_ctokenizer.TestCTokenizer) a tag that should not be put through the normal parser ... ok test_tags72_unparsable_complex (tests.test_ctokenizer.TestCTokenizer) a tag that should not be put through the normal parser; lots of stuff inside ... ok test_tags73_unparsable_attributed (tests.test_ctokenizer.TestCTokenizer) a tag that should not be put through the normal parser; parsed attributes ... ok test_tags74_unparsable_incomplete (tests.test_ctokenizer.TestCTokenizer) a tag that should not be put through the normal parser; incomplete ... ok test_tags75_unparsable_entity (tests.test_ctokenizer.TestCTokenizer) a HTML entity inside unparsable text is still parsed ... ok test_tags76_unparsable_entity_incomplete (tests.test_ctokenizer.TestCTokenizer) an incomplete HTML entity inside unparsable text ... ok test_tags77_unparsable_entity_incomplete_2 (tests.test_ctokenizer.TestCTokenizer) an incomplete HTML entity inside unparsable text ... ok test_tags78_single_open_close (tests.test_ctokenizer.TestCTokenizer) a tag that supports being single; both an open and a close tag ... ok test_tags79_single_open (tests.test_ctokenizer.TestCTokenizer) a tag that supports being single; just an open tag ... ok test_tags80_single_selfclose (tests.test_ctokenizer.TestCTokenizer) a tag that supports being single; a self-closing tag ... ok test_tags81_single_close (tests.test_ctokenizer.TestCTokenizer) a tag that supports being single; just a close tag ... ok test_tags82_single_only_open_close (tests.test_ctokenizer.TestCTokenizer) a tag that can only be single; both an open and a close tag ... ok test_tags83_single_only_open (tests.test_ctokenizer.TestCTokenizer) a tag that can only be single; just an open tag ... ok test_tags84_single_only_selfclose (tests.test_ctokenizer.TestCTokenizer) a tag that can only be single; a self-closing tag ... ok test_tags85_single_only_close (tests.test_ctokenizer.TestCTokenizer) a tag that can only be single; just a close tag ... ok test_tags86_single_only_double (tests.test_ctokenizer.TestCTokenizer) a tag that can only be single; a tag with backslashes at the beginning and end ... ok test_tags87_single_only_close_attribute (tests.test_ctokenizer.TestCTokenizer) a tag that can only be single; presented as a close tag with an attribute ... ok test_tags88_capitalization (tests.test_ctokenizer.TestCTokenizer) caps should be ignored within tag names ... ok test_tags89_unparsable_incomplete_close (tests.test_ctokenizer.TestCTokenizer) an unparsable tag with an incomplete close afterwards ... ok test_tags90_unparsable_with_intermediates (tests.test_ctokenizer.TestCTokenizer) an unparsable tag with intermediate tags inside of it ... ok test_tags91_unparsable_with_intermediates_normalize (tests.test_ctokenizer.TestCTokenizer) an unparsable tag with intermediate tags inside of it, requiring normalization ... ok test_tags92_non_ascii_open (tests.test_ctokenizer.TestCTokenizer) a open tag containing non-ASCII characters ... ok test_tags93_non_ascii_full (tests.test_ctokenizer.TestCTokenizer) an open/close tag pair containing non-ASCII characters ... ok test_tags94_single_nested_selfclosing (tests.test_ctokenizer.TestCTokenizer) a single (unpaired) tag with a self-closing tag in the middle (see issue #147) ... ok test_tags_wikimarkup01_basic_italics (tests.test_ctokenizer.TestCTokenizer) basic italic text ... ok test_tags_wikimarkup02_basic_bold (tests.test_ctokenizer.TestCTokenizer) basic bold text ... ok test_tags_wikimarkup03_basic_ul (tests.test_ctokenizer.TestCTokenizer) basic unordered list ... ok test_tags_wikimarkup04_basic_ol (tests.test_ctokenizer.TestCTokenizer) basic ordered list ... ok test_tags_wikimarkup05_basic_dt (tests.test_ctokenizer.TestCTokenizer) basic description term ... ok test_tags_wikimarkup06_basic_dd (tests.test_ctokenizer.TestCTokenizer) basic description item ... ok test_tags_wikimarkup07_basic_hr (tests.test_ctokenizer.TestCTokenizer) basic horizontal rule ... ok test_tags_wikimarkup08_complex_italics (tests.test_ctokenizer.TestCTokenizer) italics with a lot in them ... ok test_tags_wikimarkup09_multiline_italics (tests.test_ctokenizer.TestCTokenizer) italics spanning mulitple lines ... ok test_tags_wikimarkup10_unending_italics (tests.test_ctokenizer.TestCTokenizer) italics without an ending tag ... ok test_tags_wikimarkup11_misleading_italics_end (tests.test_ctokenizer.TestCTokenizer) italics with something that looks like an end but isn't ... ok test_tags_wikimarkup12_italics_start_outside_end_inside (tests.test_ctokenizer.TestCTokenizer) italics that start outside a link and end inside it ... ok test_tags_wikimarkup13_italics_start_inside_end_outside (tests.test_ctokenizer.TestCTokenizer) italics that start inside a link and end outside it ... ok test_tags_wikimarkup14_complex_bold (tests.test_ctokenizer.TestCTokenizer) bold with a lot in it ... ok test_tags_wikimarkup15_multiline_bold (tests.test_ctokenizer.TestCTokenizer) bold spanning mulitple lines ... ok test_tags_wikimarkup16_unending_bold (tests.test_ctokenizer.TestCTokenizer) bold without an ending tag ... ok test_tags_wikimarkup17_misleading_bold_end (tests.test_ctokenizer.TestCTokenizer) bold with something that looks like an end but isn't ... ok test_tags_wikimarkup18_bold_start_outside_end_inside (tests.test_ctokenizer.TestCTokenizer) bold that start outside a link and end inside it ... ok test_tags_wikimarkup19_bold_start_inside_end_outside (tests.test_ctokenizer.TestCTokenizer) bold that start inside a link and end outside it ... ok test_tags_wikimarkup20_bold_and_italics (tests.test_ctokenizer.TestCTokenizer) bold and italics together ... ok test_tags_wikimarkup21_both_then_bold (tests.test_ctokenizer.TestCTokenizer) text that starts bold/italic, then is just bold ... ok test_tags_wikimarkup22_both_then_italics (tests.test_ctokenizer.TestCTokenizer) text that starts bold/italic, then is just italic ... ok test_tags_wikimarkup23_bold_then_both (tests.test_ctokenizer.TestCTokenizer) text that starts just bold, then is bold/italic ... ok test_tags_wikimarkup24_italics_then_both (tests.test_ctokenizer.TestCTokenizer) text that starts just italic, then is bold/italic ... ok test_tags_wikimarkup25_italics_then_bold (tests.test_ctokenizer.TestCTokenizer) text that starts italic, then is bold ... ok test_tags_wikimarkup26_bold_then_italics (tests.test_ctokenizer.TestCTokenizer) text that starts bold, then is italic ... ok test_tags_wikimarkup27_five_three (tests.test_ctokenizer.TestCTokenizer) five ticks to open, three to close (bold) ... ok test_tags_wikimarkup28_five_two (tests.test_ctokenizer.TestCTokenizer) five ticks to open, two to close (bold) ... ok test_tags_wikimarkup29_four (tests.test_ctokenizer.TestCTokenizer) four ticks ... ok test_tags_wikimarkup30_four_two (tests.test_ctokenizer.TestCTokenizer) four ticks to open, two to close ... ok test_tags_wikimarkup31_two_three (tests.test_ctokenizer.TestCTokenizer) two ticks to open, three to close ... ok test_tags_wikimarkup32_two_four (tests.test_ctokenizer.TestCTokenizer) two ticks to open, four to close ... ok test_tags_wikimarkup33_two_three_two (tests.test_ctokenizer.TestCTokenizer) two ticks to open, three to close, two afterwards ... ok test_tags_wikimarkup34_two_four_four (tests.test_ctokenizer.TestCTokenizer) two ticks to open, four to close, four afterwards ... ok test_tags_wikimarkup35_seven (tests.test_ctokenizer.TestCTokenizer) seven ticks ... ok test_tags_wikimarkup36_unending_bold_and_italics (tests.test_ctokenizer.TestCTokenizer) five ticks (bold and italics) that don't end ... ok test_tags_wikimarkup37_complex_ul (tests.test_ctokenizer.TestCTokenizer) ul with a lot in it ... ok test_tags_wikimarkup38_ul_multiline_template (tests.test_ctokenizer.TestCTokenizer) ul with a template that spans multiple lines ... ok test_tags_wikimarkup39_ul_adjacent (tests.test_ctokenizer.TestCTokenizer) multiple adjacent uls ... ok test_tags_wikimarkup40_ul_depths (tests.test_ctokenizer.TestCTokenizer) multiple adjacent uls, with differing depths ... ok test_tags_wikimarkup41_ul_space_before (tests.test_ctokenizer.TestCTokenizer) uls with space before them ... ok test_tags_wikimarkup42_ul_interruption (tests.test_ctokenizer.TestCTokenizer) high-depth ul with something blocking it ... ok test_tags_wikimarkup43_complex_ol (tests.test_ctokenizer.TestCTokenizer) ol with a lot in it ... ok test_tags_wikimarkup44_ol_multiline_template (tests.test_ctokenizer.TestCTokenizer) ol with a template that spans moltiple lines ... ok test_tags_wikimarkup45_ol_adjacent (tests.test_ctokenizer.TestCTokenizer) moltiple adjacent ols ... ok test_tags_wikimarkup46_ol_depths (tests.test_ctokenizer.TestCTokenizer) moltiple adjacent ols, with differing depths ... ok test_tags_wikimarkup47_ol_space_before (tests.test_ctokenizer.TestCTokenizer) ols with space before them ... ok test_tags_wikimarkup48_ol_interruption (tests.test_ctokenizer.TestCTokenizer) high-depth ol with something blocking it ... ok test_tags_wikimarkup49_ul_ol_mix (tests.test_ctokenizer.TestCTokenizer) a mix of adjacent uls and ols ... ok test_tags_wikimarkup50_complex_dt (tests.test_ctokenizer.TestCTokenizer) dt with a lot in it ... ok test_tags_wikimarkup51_dt_multiline_template (tests.test_ctokenizer.TestCTokenizer) dt with a template that spans mdttiple lines ... ok test_tags_wikimarkup52_dt_adjacent (tests.test_ctokenizer.TestCTokenizer) mdttiple adjacent dts ... ok test_tags_wikimarkup53_dt_depths (tests.test_ctokenizer.TestCTokenizer) mdttiple adjacent dts, with differing depths ... ok test_tags_wikimarkup54_dt_space_before (tests.test_ctokenizer.TestCTokenizer) dts with space before them ... ok test_tags_wikimarkup55_dt_interruption (tests.test_ctokenizer.TestCTokenizer) high-depth dt with something blocking it ... ok test_tags_wikimarkup56_complex_dd (tests.test_ctokenizer.TestCTokenizer) dd with a lot in it ... ok test_tags_wikimarkup57_dd_multiline_template (tests.test_ctokenizer.TestCTokenizer) dd with a template that spans mddtiple lines ... ok test_tags_wikimarkup58_dd_adjacent (tests.test_ctokenizer.TestCTokenizer) mddtiple adjacent dds ... ok test_tags_wikimarkup59_dd_depths (tests.test_ctokenizer.TestCTokenizer) mddtiple adjacent dds, with differing depths ... ok test_tags_wikimarkup60_dd_space_before (tests.test_ctokenizer.TestCTokenizer) dds with space before them ... ok test_tags_wikimarkup61_dd_interruption (tests.test_ctokenizer.TestCTokenizer) high-depth dd with something blocking it ... ok test_tags_wikimarkup62_dt_dd_mix (tests.test_ctokenizer.TestCTokenizer) a mix of adjacent dts and dds ... ok test_tags_wikimarkup63_dt_dd_mix2 (tests.test_ctokenizer.TestCTokenizer) the correct usage of a dt/dd unit, as in a dl ... ok test_tags_wikimarkup64_dt_dd_mix3 (tests.test_ctokenizer.TestCTokenizer) another example of correct (but strange) dt/dd usage ... ok test_tags_wikimarkup65_dt_dd_mix4 (tests.test_ctokenizer.TestCTokenizer) another example of correct dt/dd usage, with a trigger for a specific parse route ... ok test_tags_wikimarkup66_ul_ol_dt_dd_mix (tests.test_ctokenizer.TestCTokenizer) an assortment of uls, ols, dds, and dts ... ok test_tags_wikimarkup67_hr_text_before (tests.test_ctokenizer.TestCTokenizer) text before an otherwise-valid hr ... ok test_tags_wikimarkup68_hr_text_after (tests.test_ctokenizer.TestCTokenizer) text after a valid hr ... ok test_tags_wikimarkup69_hr_text_before_after (tests.test_ctokenizer.TestCTokenizer) text at both ends of an otherwise-valid hr ... ok test_tags_wikimarkup70_hr_newlines (tests.test_ctokenizer.TestCTokenizer) newlines surrounding a valid hr ... ok test_tags_wikimarkup71_hr_adjacent (tests.test_ctokenizer.TestCTokenizer) two adjacent hrs ... ok test_tags_wikimarkup72_hr_adjacent_space (tests.test_ctokenizer.TestCTokenizer) two adjacent hrs, with a space before the second one, making it invalid ... ok test_tags_wikimarkup73_hr_short (tests.test_ctokenizer.TestCTokenizer) an invalid three-hyphen-long hr ... ok test_tags_wikimarkup74_hr_long (tests.test_ctokenizer.TestCTokenizer) a very long, valid hr ... ok test_tags_wikimarkup75_hr_interruption_short (tests.test_ctokenizer.TestCTokenizer) a hr that is interrupted, making it invalid ... ok test_tags_wikimarkup76_hr_interruption_long (tests.test_ctokenizer.TestCTokenizer) a hr that is interrupted, but the first part remains valid because it is long enough ... ok test_tags_wikimarkup77_nowiki_cancel (tests.test_ctokenizer.TestCTokenizer) a nowiki tag before a list causes it to not be parsed ... ok test_templates001_no_params (tests.test_ctokenizer.TestCTokenizer) simplest type of template ... ok test_templates002_one_param_unnamed (tests.test_ctokenizer.TestCTokenizer) basic template with one unnamed parameter ... ok test_templates003_one_param_named (tests.test_ctokenizer.TestCTokenizer) basic template with one named parameter ... ok test_templates004_multiple_unnamed_params (tests.test_ctokenizer.TestCTokenizer) basic template with multiple unnamed parameters ... ok test_templates005_multiple_named_params (tests.test_ctokenizer.TestCTokenizer) basic template with multiple named parameters ... ok test_templates006_multiple_mixed_params (tests.test_ctokenizer.TestCTokenizer) basic template with multiple unnamed/named parameters ... ok test_templates007_multiple_mixed_params2 (tests.test_ctokenizer.TestCTokenizer) basic template with multiple unnamed/named parameters in another order ... ok test_templates008_blank_params (tests.test_ctokenizer.TestCTokenizer) template with blank parameters (mix of pipes and equal signs) ... ok test_templates009_nested_unnamed_param (tests.test_ctokenizer.TestCTokenizer) nested template as an unnamed parameter ... ok test_templates010_nested_named_param_value (tests.test_ctokenizer.TestCTokenizer) nested template as a parameter value with a named parameter ... ok test_templates011_nested_named_param_name_and_value (tests.test_ctokenizer.TestCTokenizer) nested templates as a parameter name and value ... ok test_templates012_nested_name_start (tests.test_ctokenizer.TestCTokenizer) nested template at the beginning of a template name ... ok test_templates013_nested_name_start_unnamed_param (tests.test_ctokenizer.TestCTokenizer) nested template at the beginning of a template name and as an unnamed parameter ... ok test_templates014_nested_name_start_named_param_value (tests.test_ctokenizer.TestCTokenizer) nested template at the beginning of a template name and as a parameter value with a named parameter ... ok test_templates015_nested_name_start_named_param_name_and_value (tests.test_ctokenizer.TestCTokenizer) nested template at the beginning of a template name and as a parameter name and value ... ok test_templates016_nested_name_end (tests.test_ctokenizer.TestCTokenizer) nested template at the end of a template name ... ok test_templates017_nested_name_end_unnamed_param (tests.test_ctokenizer.TestCTokenizer) nested template at the end of a template name and as an unnamed parameter ... ok test_templates018_nested_name_end_named_param_value (tests.test_ctokenizer.TestCTokenizer) nested template at the end of a template name and as a parameter value with a named parameter ... ok test_templates019_nested_name_end_named_param_name_and_value (tests.test_ctokenizer.TestCTokenizer) nested template at the end of a template name and as a parameter name and value ... ok test_templates020_nested_name_mid (tests.test_ctokenizer.TestCTokenizer) nested template in the middle of a template name ... ok test_templates021_nested_name_mid_unnamed_param (tests.test_ctokenizer.TestCTokenizer) nested template in the middle of a template name and as an unnamed parameter ... ok test_templates022_nested_name_mid_named_param_value (tests.test_ctokenizer.TestCTokenizer) nested template in the middle of a template name and as a parameter value with a named parameter ... ok test_templates023_nested_name_mid_named_param_name_and_value (tests.test_ctokenizer.TestCTokenizer) nested template in the middle of a template name and as a parameter name and value ... ok test_templates024_nested_name_start_end (tests.test_ctokenizer.TestCTokenizer) nested template at the beginning and end of a template name ... ok test_templates025_nested_name_start_end_unnamed_param (tests.test_ctokenizer.TestCTokenizer) nested template at the beginning and end of a template name and as an unnamed parameter ... ok test_templates026_nested_name_start_end_named_param_value (tests.test_ctokenizer.TestCTokenizer) nested template at the beginning and end of a template name and as a parameter value with a named parameter ... ok test_templates027_nested_name_start_end_named_param_name_and_value (tests.test_ctokenizer.TestCTokenizer) nested template at the beginning and end of a template name and as a parameter name and value ... ok test_templates028_nested_names_multiple (tests.test_ctokenizer.TestCTokenizer) multiple nested templates within nested templates ... ok test_templates029_nested_names_multiple_unnamed_param (tests.test_ctokenizer.TestCTokenizer) multiple nested templates within nested templates with a nested unnamed parameter ... ok test_templates030_nested_names_multiple_named_param_value (tests.test_ctokenizer.TestCTokenizer) multiple nested templates within nested templates with a nested parameter value in a named parameter ... ok test_templates031_nested_names_multiple_named_param_name_and_value (tests.test_ctokenizer.TestCTokenizer) multiple nested templates within nested templates with a nested parameter name and value ... ok test_templates032_mixed_nested_templates (tests.test_ctokenizer.TestCTokenizer) mixed assortment of nested templates within template names, parameter names, and values ... ok test_templates033_nested_two_args (tests.test_ctokenizer.TestCTokenizer) template whose first parameter is unnamed with two templates, followed by a named parameter ... ok test_templates034_newlines_start (tests.test_ctokenizer.TestCTokenizer) a newline at the start of a template name ... ok test_templates035_newlines_end (tests.test_ctokenizer.TestCTokenizer) a newline at the end of a template name ... ok test_templates036_newlines_start_end (tests.test_ctokenizer.TestCTokenizer) a newline at the start and end of a template name ... ok test_templates037_newlines_mid (tests.test_ctokenizer.TestCTokenizer) a newline at the middle of a template name ... ok test_templates038_newlines_start_mid (tests.test_ctokenizer.TestCTokenizer) a newline at the start and middle of a template name ... ok test_templates039_newlines_mid_end (tests.test_ctokenizer.TestCTokenizer) a newline at the middle and end of a template name ... ok test_templates040_newlines_start_mid_end (tests.test_ctokenizer.TestCTokenizer) a newline at the start, middle, and end of a template name ... ok test_templates041_newlines_unnamed_param (tests.test_ctokenizer.TestCTokenizer) newlines within an unnamed template parameter ... ok test_templates042_newlines_enclose_template_name_unnamed_param (tests.test_ctokenizer.TestCTokenizer) newlines enclosing a template name and within an unnamed template parameter ... ok test_templates043_newlines_within_template_name_unnamed_param (tests.test_ctokenizer.TestCTokenizer) newlines within a template name and within an unnamed template parameter ... ok test_templates044_newlines_enclose_template_name_named_param_value (tests.test_ctokenizer.TestCTokenizer) newlines enclosing a template name and within a named parameter value ... ok test_templates045_newlines_within_template_name_named_param_value (tests.test_ctokenizer.TestCTokenizer) newlines within a template name and within a named parameter value ... ok test_templates046_newlines_named_param_name (tests.test_ctokenizer.TestCTokenizer) newlines within a parameter name ... ok test_templates047_newlines_named_param_name_param_value (tests.test_ctokenizer.TestCTokenizer) newlines within a parameter name and within a parameter value ... ok test_templates048_newlines_enclose_template_name_named_param_name (tests.test_ctokenizer.TestCTokenizer) newlines enclosing a template name and within a parameter name ... ok test_templates049_newlines_enclose_template_name_named_param_name_param_value (tests.test_ctokenizer.TestCTokenizer) newlines enclosing a template name and within a parameter name and within a parameter value ... ok test_templates050_newlines_within_template_name_named_param_name (tests.test_ctokenizer.TestCTokenizer) newlines within a template name and within a parameter name ... ok test_templates051_newlines_within_template_name_named_param_name_param_value (tests.test_ctokenizer.TestCTokenizer) newlines within a template name and within a parameter name and within a parameter value ... ok test_templates052_newlines_wildcard (tests.test_ctokenizer.TestCTokenizer) a random, complex assortment of templates and newlines ... ok test_templates053_newlines_wildcard_redux (tests.test_ctokenizer.TestCTokenizer) an even more random and complex assortment of templates and newlines ... ok test_templates054_newlines_wildcard_redux_invalid (tests.test_ctokenizer.TestCTokenizer) a variation of the newlines_wildcard_redux test that is invalid ... ok test_templates055_newlines_spaces (tests.test_ctokenizer.TestCTokenizer) newlines in the middle of a template name, followed by spaces ... ok test_templates056_newlines_spaces_param (tests.test_ctokenizer.TestCTokenizer) newlines in the middle of a template name, followed by spaces, with a parameter ... ok test_templates057_invalid_blank (tests.test_ctokenizer.TestCTokenizer) invalid template with no content ... ok test_templates058_invalid_blank_whitespace (tests.test_ctokenizer.TestCTokenizer) invalid template with no content, but whitespace ... ok test_templates059_invalid_blank_pipe (tests.test_ctokenizer.TestCTokenizer) invalid template with no content, but a parameter ... ok test_templates060_invalid_blank_whitespace_pipe (tests.test_ctokenizer.TestCTokenizer) invalid template with no content, but whitespace and a parameter ... ok test_templates061_invalid_name_left_brace_middle (tests.test_ctokenizer.TestCTokenizer) invalid characters in template name: left brace in middle ... ok test_templates062_invalid_name_right_brace_middle (tests.test_ctokenizer.TestCTokenizer) invalid characters in template name: right brace in middle ... ok test_templates063_invalid_name_left_braces (tests.test_ctokenizer.TestCTokenizer) invalid characters in template name: two left braces in middle ... ok test_templates064_invalid_name_left_bracket_middle (tests.test_ctokenizer.TestCTokenizer) invalid characters in template name: left bracket in middle ... ok test_templates065_invalid_name_right_bracket_middle (tests.test_ctokenizer.TestCTokenizer) invalid characters in template name: right bracket in middle ... ok test_templates066_invalid_name_left_bracket_start (tests.test_ctokenizer.TestCTokenizer) invalid characters in template name: left bracket at start ... ok test_templates067_invalid_name_right_bracket_start (tests.test_ctokenizer.TestCTokenizer) invalid characters in template name: right bracket at end ... ok test_templates068_valid_name_left_brace_start (tests.test_ctokenizer.TestCTokenizer) valid characters in template name: left brace at start ... ok test_templates069_valid_unnamed_param_left_brace (tests.test_ctokenizer.TestCTokenizer) valid characters in unnamed template parameter: left brace ... ok test_templates070_valid_unnamed_param_braces (tests.test_ctokenizer.TestCTokenizer) valid characters in unnamed template parameter: left and right braces ... ok test_templates071_valid_param_name_braces (tests.test_ctokenizer.TestCTokenizer) valid characters in template parameter name: left and right braces ... ok test_templates072_valid_param_name_brackets (tests.test_ctokenizer.TestCTokenizer) valid characters in unnamed template parameter: left and right brackets ... ok test_templates073_valid_param_name_double_left_brackets (tests.test_ctokenizer.TestCTokenizer) valid characters in unnamed template parameter: double left brackets ... ok test_templates074_valid_param_name_double_right_brackets (tests.test_ctokenizer.TestCTokenizer) valid characters in unnamed template parameter: double right brackets ... ok test_templates075_valid_param_name_double_brackets (tests.test_ctokenizer.TestCTokenizer) valid characters in unnamed template parameter: double left and right brackets ... ok test_templates076_invalid_param_name_double_left_braces (tests.test_ctokenizer.TestCTokenizer) invalid characters in template parameter name: double left braces ... ok test_templates077_invalid_param_name_double_braces (tests.test_ctokenizer.TestCTokenizer) invalid characters in template parameter name: double left and right braces ... ok test_templates078_invalid_left_angle_bracket (tests.test_ctokenizer.TestCTokenizer) invalid template: left angle bracket in name ... ok test_templates079_invalid_right_angle_bracket (tests.test_ctokenizer.TestCTokenizer) invalid template: right angle bracket in name ... ok test_templates080_incomplete_stub (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: just an opening ... ok test_templates081_incomplete_plain (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: no close whatsoever ... ok test_templates082_incomplete_right_brace (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: only one right brace ... ok test_templates083_incomplete_pipe (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: a pipe ... ok test_templates084_incomplete_unnamed_param (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: an unnamed parameter ... ok test_templates085_incomplete_unnamed_param_pipe (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: an unnamed parameter, then a pipe ... ok test_templates086_incomplete_valueless_param (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: an a named parameter with no value ... ok test_templates087_incomplete_valueless_param_pipe (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: a named parameter with no value, then a pipe ... ok test_templates088_incomplete_named_param (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: a named parameter with a value ... ok test_templates089_incomplete_named_param_pipe (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: a named parameter with a value, then a paipe ... ok test_templates090_incomplete_two_unnamed_params (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: two unnamed parameters ... ok test_templates091_incomplete_unnamed_param_valueless_param (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: an unnamed parameter, then a named parameter with no value ... ok test_templates092_incomplete_unnamed_param_named_param (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: an unnamed parameter, then a named parameter with a value ... ok test_templates093_incomplete_named_param_unnamed_param (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: a named parameter with a value, then an unnamed parameter ... ok test_templates094_incomplete_named_param_valueless_param (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: a named parameter with a value, then a named parameter with no value ... ok test_templates095_incomplete_two_named_params (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: two named parameters with values ... ok test_templates096_incomplete_nested_template_as_unnamed_param (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: a valid nested template as an unnamed parameter ... ok test_templates097_incomplete_nested_template_as_param_value (tests.test_ctokenizer.TestCTokenizer) incomplete templates that should fail gracefully: a valid nested template as a parameter value ... ok test_templates098_recursion_five_hundred_opens (tests.test_ctokenizer.TestCTokenizer) test potentially dangerous recursion: five hundred template openings, without spaces ... ok test_templates099_recursion_one_hundred_opens (tests.test_ctokenizer.TestCTokenizer) test potentially dangerous recursion: one hundred template openings, with spaces ... ok test_templates100_recursion_opens_and_closes (tests.test_ctokenizer.TestCTokenizer) test potentially dangerous recursion: template openings and closings ... ok test_templates101_invalid_section_level_1 (tests.test_ctokenizer.TestCTokenizer) level 1 headings inside a template are always invalid ... ok test_templates102_section_level_2 (tests.test_ctokenizer.TestCTokenizer) valid level 2 heading inside a template ... ok test_templates103_invalid_section_level_2 (tests.test_ctokenizer.TestCTokenizer) invalid level 2 heading inside a template ... ok test_templates104_section_level_2_after_template_parameter (tests.test_ctokenizer.TestCTokenizer) level 2 heading inside a template after a parameter ... ok test_text1_basic (tests.test_ctokenizer.TestCTokenizer) sanity check for basic text parsing, no gimmicks ... ok test_text2_newlines (tests.test_ctokenizer.TestCTokenizer) slightly more complex text parsing, with newlines ... ok test_text3_unicode (tests.test_ctokenizer.TestCTokenizer) ensure unicode data is handled properly ... ok test_text4_unicode2 (tests.test_ctokenizer.TestCTokenizer) additional unicode check for non-BMP codepoints ... ok test_text5_large (tests.test_ctokenizer.TestCTokenizer) a lot of text, requiring proper storage in the C tokenizer ... ok test_uses_c (tests.test_ctokenizer.TestCTokenizer) make sure the C tokenizer identifies as using a C extension ... ok test_wikilinks01_blank (tests.test_ctokenizer.TestCTokenizer) wikilink with no content ... ok test_wikilinks02_blank_with_text (tests.test_ctokenizer.TestCTokenizer) wikilink with no content but a pipe ... ok test_wikilinks03_basic (tests.test_ctokenizer.TestCTokenizer) simplest type of wikilink ... ok test_wikilinks04_with_text (tests.test_ctokenizer.TestCTokenizer) wikilink with a text value ... ok test_wikilinks05_blank_with_multiple_texts (tests.test_ctokenizer.TestCTokenizer) no content, multiple pipes ... ok test_wikilinks06_multiple_texts (tests.test_ctokenizer.TestCTokenizer) multiple text values separated by pipes ... ok test_wikilinks07_newline_text (tests.test_ctokenizer.TestCTokenizer) a newline in the middle of the text ... ok test_wikilinks08_bracket_text (tests.test_ctokenizer.TestCTokenizer) a left bracket in the middle of the text ... ok test_wikilinks09_nested (tests.test_ctokenizer.TestCTokenizer) a wikilink nested within another ... ok test_wikilinks10_nested_padding (tests.test_ctokenizer.TestCTokenizer) a wikilink nested within another, separated by other data ... ok test_wikilinks11_invalid_newline (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: newline as only content ... ok test_wikilinks12_invalid_right_brace (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: right brace ... ok test_wikilinks13_invalid_left_brace (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: left brace ... ok test_wikilinks14_invalid_right_bracket (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: right bracket ... ok test_wikilinks15_invalid_left_bracket (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: left bracket ... ok test_wikilinks16_invalid_nested (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: trying to nest in the wrong context ... ok test_wikilinks17_invalid_nested_padding (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: trying to nest in the wrong context, with a text param ... ok test_wikilinks18_invalid_nested_no_close (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: a wikilink nested within the value of another, missing a pair of closing brackets ... ok test_wikilinks19_invalid_left_angle_bracket (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: left angle bracket ... ok test_wikilinks20_invalid_right_angle_bracket (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: right angle bracket ... ok test_wikilinks21_invalid_newline_at_start (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: newline at start of title ... ok test_wikilinks22_invalid_newline_at_end (tests.test_ctokenizer.TestCTokenizer) invalid wikilink: newline at end of title ... ok test_wikilinks23_incomplete_open_only (tests.test_ctokenizer.TestCTokenizer) incomplete wikilinks: just an open ... ok test_wikilinks24_incomplete_open_text (tests.test_ctokenizer.TestCTokenizer) incomplete wikilinks: an open with some text ... ok test_wikilinks25_incomplete_open_text_pipe (tests.test_ctokenizer.TestCTokenizer) incomplete wikilinks: an open, text, then a pipe ... ok test_wikilinks26_incomplete_open_pipe (tests.test_ctokenizer.TestCTokenizer) incomplete wikilinks: an open, then a pipe ... ok test_wikilinks27_incomplete_open_pipe_text (tests.test_ctokenizer.TestCTokenizer) incomplete wikilinks: an open, then a pipe, then text ... ok test_wikilinks28_incomplete_open_pipes_text (tests.test_ctokenizer.TestCTokenizer) incomplete wikilinks: a pipe, then text then two pipes ... ok test_wikilinks29_incomplete_open_partial_close (tests.test_ctokenizer.TestCTokenizer) incomplete wikilinks: an open, then one right brace ... ok test_wikilinks30_incomplete_preserve_previous (tests.test_ctokenizer.TestCTokenizer) incomplete wikilinks: a valid wikilink followed by an invalid one ... ok test_name (tests.test_parameter.TestParameter) test getter/setter for the name attribute ... ok test_showkey (tests.test_parameter.TestParameter) test getter/setter for the showkey attribute ... ok test_str (tests.test_parameter.TestParameter) test Parameter.__str__() ... ok test_value (tests.test_parameter.TestParameter) test getter/setter for the value attribute ... ok test_children (tests.test_html_entity.TestHTMLEntity) test HTMLEntity.__children__() ... ok test_hex_char (tests.test_html_entity.TestHTMLEntity) test getter/setter for the hex_char attribute ... ok test_hexadecimal (tests.test_html_entity.TestHTMLEntity) test getter/setter for the hexadecimal attribute ... ok test_named (tests.test_html_entity.TestHTMLEntity) test getter/setter for the named attribute ... ok test_normalize (tests.test_html_entity.TestHTMLEntity) test getter/setter for the normalize attribute ... ok test_showtree (tests.test_html_entity.TestHTMLEntity) test HTMLEntity.__showtree__() ... ok test_str (tests.test_html_entity.TestHTMLEntity) test HTMLEntity.__str__() ... ok test_strip (tests.test_html_entity.TestHTMLEntity) test HTMLEntity.__strip__() ... ok test_value (tests.test_html_entity.TestHTMLEntity) test getter/setter for the value attribute ... ok test_child_add (tests.test_smart_list.TestSmartList) make sure ListProxy's add/radd/iadd work ... ok test_child_get_set_del (tests.test_smart_list.TestSmartList) make sure ListProxy's getitem/setitem/delitem work ... ok test_child_methods (tests.test_smart_list.TestSmartList) make sure ListProxy's non-magic methods work, like append() ... ok test_child_other_magics (tests.test_smart_list.TestSmartList) make sure ListProxy's other magically implemented features work ... ok test_docs (tests.test_smart_list.TestSmartList) make sure the methods of SmartList/ListProxy have docstrings ... ok test_doctest (tests.test_smart_list.TestSmartList) make sure the test embedded in SmartList's docstring passes ... ok test_influence (tests.test_smart_list.TestSmartList) make sure changes are propagated from parents to children ... ok test_parent_add (tests.test_smart_list.TestSmartList) make sure SmartList's add/radd/iadd work ... ok test_parent_get_set_del (tests.test_smart_list.TestSmartList) make sure SmartList's getitem/setitem/delitem work ... ok test_parent_methods (tests.test_smart_list.TestSmartList) make sure SmartList's non-magic methods work, like append() ... ok test_parent_other_magics (tests.test_smart_list.TestSmartList) make sure SmartList's other magically implemented features work ... ok test_parsing (tests.test_parser.TestParser) integration test for parsing overall ... ok test_skip_style_tags (tests.test_parser.TestParser) test Parser.parse(skip_style_tags=True) ... ok test_use_c (tests.test_parser.TestParser) make sure the correct tokenizer is used ... ok test_argument (tests.test_builder.TestBuilder) tests for building Argument nodes ... ok test_comment (tests.test_builder.TestBuilder) tests for building Comment nodes ... ok test_external_link (tests.test_builder.TestBuilder) tests for building ExternalLink nodes ... ok test_heading (tests.test_builder.TestBuilder) tests for building Heading nodes ... ok test_html_entity (tests.test_builder.TestBuilder) tests for building HTMLEntity nodes ... ok test_integration (tests.test_builder.TestBuilder) a test for building a combination of templates together ... ok test_integration2 (tests.test_builder.TestBuilder) an even more audacious test for building a horrible wikicode mess ... ok test_parser_errors (tests.test_builder.TestBuilder) test whether ParserError gets thrown for bad input ... ok test_tag (tests.test_builder.TestBuilder) tests for building Tag nodes ... ok test_template (tests.test_builder.TestBuilder) tests for building Template nodes ... ok test_text (tests.test_builder.TestBuilder) tests for building Text nodes ... ok test_wikilink (tests.test_builder.TestBuilder) tests for building Wikilink nodes ... ok test_arguments01_blank (tests.test_roundtripping.TestRoundtripping) argument with no content ... ok test_arguments02_blank_with_default (tests.test_roundtripping.TestRoundtripping) argument with no content but a pipe ... ok test_arguments03_basic (tests.test_roundtripping.TestRoundtripping) simplest type of argument ... ok test_arguments04_default (tests.test_roundtripping.TestRoundtripping) argument with a default value ... ok test_arguments05_blank_with_multiple_defaults (tests.test_roundtripping.TestRoundtripping) no content, multiple pipes ... ok test_arguments06_multiple_defaults (tests.test_roundtripping.TestRoundtripping) multiple values separated by pipes ... ok test_arguments07_newline (tests.test_roundtripping.TestRoundtripping) newline as only content ... ok test_arguments08_right_braces (tests.test_roundtripping.TestRoundtripping) multiple } scattered throughout text ... ok test_arguments09_right_braces_default (tests.test_roundtripping.TestRoundtripping) multiple } scattered throughout text, with a default value ... ok test_arguments10_nested (tests.test_roundtripping.TestRoundtripping) an argument nested within another argument ... ok test_arguments11_invalid_braces (tests.test_roundtripping.TestRoundtripping) invalid argument: multiple braces that are not part of a template or argument ... ok test_arguments12_incomplete_open_only (tests.test_roundtripping.TestRoundtripping) incomplete arguments: just an open ... ok test_arguments13_incomplete_open_text (tests.test_roundtripping.TestRoundtripping) incomplete arguments: an open with some text ... ok test_arguments14_incomplete_open_text_pipe (tests.test_roundtripping.TestRoundtripping) incomplete arguments: an open, text, then a pipe ... ok test_arguments15_incomplete_open_pipe (tests.test_roundtripping.TestRoundtripping) incomplete arguments: an open, then a pipe ... ok test_arguments16_incomplete_open_pipe_text (tests.test_roundtripping.TestRoundtripping) incomplete arguments: an open, then a pipe, then text ... ok test_arguments17_incomplete_open_pipes_text (tests.test_roundtripping.TestRoundtripping) incomplete arguments: a pipe, then text then two pipes ... ok test_arguments18_incomplete_open_partial_close (tests.test_roundtripping.TestRoundtripping) incomplete arguments: an open, then one right brace ... ok test_arguments19_incomplete_preserve_previous (tests.test_roundtripping.TestRoundtripping) incomplete arguments: a valid argument followed by an invalid one ... ok test_comments1_blank (tests.test_roundtripping.TestRoundtripping) a blank comment ... ok test_comments2_basic (tests.test_roundtripping.TestRoundtripping) a basic comment ... ok test_comments3_tons_of_nonsense (tests.test_roundtripping.TestRoundtripping) a comment with tons of ignorable garbage in it ... ok test_comments4_incomplete_blank (tests.test_roundtripping.TestRoundtripping) a comment that doesn't close ... ok test_comments5_incomplete_text (tests.test_roundtripping.TestRoundtripping) a comment that doesn't close, with text ... ok test_comments6_incomplete_partial_close (tests.test_roundtripping.TestRoundtripping) a comment that doesn't close, with a partial close ... ok test_comments7_incomplete_part_only (tests.test_roundtripping.TestRoundtripping) a comment that only has a < and ! ... ok test_external_links01_basic (tests.test_roundtripping.TestRoundtripping) basic external link ... ok test_external_links02_basic_brackets (tests.test_roundtripping.TestRoundtripping) basic external link in brackets ... ok test_external_links03_brackets_space (tests.test_roundtripping.TestRoundtripping) basic external link in brackets, with a space after ... ok test_external_links04_brackets_title (tests.test_roundtripping.TestRoundtripping) basic external link in brackets, with a title ... ok test_external_links05_brackets_multiword_title (tests.test_roundtripping.TestRoundtripping) basic external link in brackets, with a multi-word title ... ok test_external_links06_brackets_adjacent (tests.test_roundtripping.TestRoundtripping) three adjacent bracket-enclosed external links ... ok test_external_links07_brackets_newline_before (tests.test_roundtripping.TestRoundtripping) bracket-enclosed link with a newline before the title ... ok test_external_links08_brackets_newline_inside (tests.test_roundtripping.TestRoundtripping) bracket-enclosed link with a newline in the title ... ok test_external_links09_brackets_newline_after (tests.test_roundtripping.TestRoundtripping) bracket-enclosed link with a newline after the title ... ok test_external_links10_brackets_space_before (tests.test_roundtripping.TestRoundtripping) bracket-enclosed link with a space before the URL ... ok test_external_links11_brackets_title_like_url (tests.test_roundtripping.TestRoundtripping) bracket-enclosed link with a title that looks like a URL ... ok test_external_links12_brackets_recursive (tests.test_roundtripping.TestRoundtripping) bracket-enclosed link with a bracket-enclosed link as the title ... ok test_external_links13_brackets_recursive_2 (tests.test_roundtripping.TestRoundtripping) bracket-enclosed link with a double bracket-enclosed link as the title ... ok test_external_links14_period_after (tests.test_roundtripping.TestRoundtripping) a period after a free link that is excluded ... ok test_external_links15_colons_after (tests.test_roundtripping.TestRoundtripping) colons after a free link that are excluded ... ok test_external_links16_close_paren_after_excluded (tests.test_roundtripping.TestRoundtripping) a closing parenthesis after a free link that is excluded ... ok test_external_links17_close_paren_after_included (tests.test_roundtripping.TestRoundtripping) a closing parenthesis after a free link that is included because of an opening parenthesis in the URL ... ok test_external_links18_open_bracket_inside (tests.test_roundtripping.TestRoundtripping) an open bracket inside a free link that causes it to be ended abruptly ... ok test_external_links19_brackets_period_after (tests.test_roundtripping.TestRoundtripping) a period after a bracket-enclosed link that is included ... ok test_external_links20_brackets_punct_after (tests.test_roundtripping.TestRoundtripping) punctuation after a bracket-enclosed link that are included ... ok test_external_links21_brackets_close_paren_after_included (tests.test_roundtripping.TestRoundtripping) a closing parenthesis after a bracket-enclosed link that is included ... ok test_external_links22_brackets_close_paren_after_included_2 (tests.test_roundtripping.TestRoundtripping) a closing parenthesis after a bracket-enclosed link that is also included ... ok test_external_links23_brackets_open_bracket_inside (tests.test_roundtripping.TestRoundtripping) an open bracket inside a bracket-enclosed link that is also included ... ok test_external_links24_adjacent_space (tests.test_roundtripping.TestRoundtripping) two free links separated by a space ... ok test_external_links25_adjacent_newline (tests.test_roundtripping.TestRoundtripping) two free links separated by a newline ... ok test_external_links26_adjacent_close_bracket (tests.test_roundtripping.TestRoundtripping) two free links separated by a close bracket ... ok test_external_links27_html_entity_in_url (tests.test_roundtripping.TestRoundtripping) a HTML entity parsed correctly inside a free link ... ok test_external_links28_template_in_url (tests.test_roundtripping.TestRoundtripping) a template parsed correctly inside a free link ... ok test_external_links29_argument_in_url (tests.test_roundtripping.TestRoundtripping) an argument parsed correctly inside a free link ... ok test_external_links30_wikilink_in_url (tests.test_roundtripping.TestRoundtripping) a wikilink that destroys a free link ... ok test_external_links31_external_link_in_url (tests.test_roundtripping.TestRoundtripping) a bracketed link that destroys a free link ... ok test_external_links32_spaces_padding (tests.test_roundtripping.TestRoundtripping) spaces padding a free link ... ok test_external_links33_text_and_spaces_padding (tests.test_roundtripping.TestRoundtripping) text and spaces padding a free link ... ok test_external_links34_template_before (tests.test_roundtripping.TestRoundtripping) a template before a free link ... ok test_external_links35_spaces_padding_no_slashes (tests.test_roundtripping.TestRoundtripping) spaces padding a free link with no slashes after the colon ... ok test_external_links36_text_and_spaces_padding_no_slashes (tests.test_roundtripping.TestRoundtripping) text and spaces padding a free link with no slashes after the colon ... ok test_external_links37_template_before_no_slashes (tests.test_roundtripping.TestRoundtripping) a template before a free link with no slashes after the colon ... ok test_external_links38_no_slashes (tests.test_roundtripping.TestRoundtripping) a free link with no slashes after the colon ... ok test_external_links39_slashes_optional (tests.test_roundtripping.TestRoundtripping) a free link using a scheme that doesn't need slashes, but has them anyway ... ok test_external_links40_short (tests.test_roundtripping.TestRoundtripping) a very short free link ... ok test_external_links41_slashes_missing (tests.test_roundtripping.TestRoundtripping) slashes missing from a free link with a scheme that requires them ... ok test_external_links42_no_scheme_but_slashes (tests.test_roundtripping.TestRoundtripping) no scheme in a free link, but slashes (protocol-relative free links are not supported) ... ok test_external_links43_no_scheme_but_colon (tests.test_roundtripping.TestRoundtripping) no scheme in a free link, but a colon ... ok test_external_links44_no_scheme_but_colon_and_slashes (tests.test_roundtripping.TestRoundtripping) no scheme in a free link, but a colon and slashes ... ok test_external_links45_fake_scheme_no_slashes (tests.test_roundtripping.TestRoundtripping) a nonexistent scheme in a free link, without slashes ... ok test_external_links46_fake_scheme_slashes (tests.test_roundtripping.TestRoundtripping) a nonexistent scheme in a free link, with slashes ... ok test_external_links47_fake_scheme_brackets_no_slashes (tests.test_roundtripping.TestRoundtripping) a nonexistent scheme in a bracketed link, without slashes ... ok test_external_links48_fake_scheme_brackets_slashes (tests.test_roundtripping.TestRoundtripping) #=a nonexistent scheme in a bracketed link, with slashes ... ok test_external_links49_interrupted_scheme (tests.test_roundtripping.TestRoundtripping) an otherwise valid scheme with something in the middle of it, in a free link ... ok test_external_links50_interrupted_scheme_brackets (tests.test_roundtripping.TestRoundtripping) an otherwise valid scheme with something in the middle of it, in a bracketed link ... ok test_external_links51_no_slashes_brackets (tests.test_roundtripping.TestRoundtripping) no slashes after the colon in a bracketed link ... ok test_external_links52_space_before_no_slashes_brackets (tests.test_roundtripping.TestRoundtripping) a space before a bracketed link with no slashes after the colon ... ok test_external_links53_slashes_optional_brackets (tests.test_roundtripping.TestRoundtripping) a bracketed link using a scheme that doesn't need slashes, but has them anyway ... ok test_external_links54_short_brackets (tests.test_roundtripping.TestRoundtripping) a very short link in brackets ... ok test_external_links55_slashes_missing_brackets (tests.test_roundtripping.TestRoundtripping) slashes missing from a scheme that requires them in a bracketed link ... ok test_external_links56_protcol_relative (tests.test_roundtripping.TestRoundtripping) a protocol-relative link (in brackets) ... ok test_external_links57_scheme_missing_but_colon_brackets (tests.test_roundtripping.TestRoundtripping) scheme missing from a bracketed link, but with a colon ... ok test_external_links58_scheme_missing_but_colon_slashes_brackets (tests.test_roundtripping.TestRoundtripping) scheme missing from a bracketed link, but with a colon and slashes ... ok test_external_links59_unclosed_protocol_relative (tests.test_roundtripping.TestRoundtripping) an unclosed protocol-relative bracketed link ... ok test_external_links60_space_before_protcol_relative (tests.test_roundtripping.TestRoundtripping) a space before a protocol-relative bracketed link ... ok test_external_links61_unclosed_just_scheme (tests.test_roundtripping.TestRoundtripping) an unclosed bracketed link, ending after the scheme ... ok test_external_links62_unclosed_scheme_colon (tests.test_roundtripping.TestRoundtripping) an unclosed bracketed link, ending after the colon ... ok test_external_links63_unclosed_scheme_colon_slashes (tests.test_roundtripping.TestRoundtripping) an unclosed bracketed link, ending after the slashes ... ok test_external_links64_incomplete_bracket (tests.test_roundtripping.TestRoundtripping) just an open bracket ... ok test_external_links65_incomplete_scheme_colon (tests.test_roundtripping.TestRoundtripping) a free link with just a scheme and a colon ... ok test_external_links66_incomplete_scheme_colon_slashes (tests.test_roundtripping.TestRoundtripping) a free link with just a scheme, colon, and slashes ... ok test_external_links67_brackets_scheme_but_no_url (tests.test_roundtripping.TestRoundtripping) brackets around a scheme and a colon ... ok test_external_links68_brackets_scheme_slashes_but_no_url (tests.test_roundtripping.TestRoundtripping) brackets around a scheme, colon, and slashes ... ok test_external_links69_brackets_scheme_title_but_no_url (tests.test_roundtripping.TestRoundtripping) brackets around a scheme, colon, and slashes, with a title ... ok test_headings01_level_1 (tests.test_roundtripping.TestRoundtripping) a basic level-1 heading ... ok test_headings02_level_2 (tests.test_roundtripping.TestRoundtripping) a basic level-2 heading ... ok test_headings03_level_3 (tests.test_roundtripping.TestRoundtripping) a basic level-3 heading ... ok test_headings04_level_4 (tests.test_roundtripping.TestRoundtripping) a basic level-4 heading ... ok test_headings05_level_5 (tests.test_roundtripping.TestRoundtripping) a basic level-5 heading ... ok test_headings06_level_6 (tests.test_roundtripping.TestRoundtripping) a basic level-6 heading ... ok test_headings07_level_7 (tests.test_roundtripping.TestRoundtripping) a level-6 heading that pretends to be a level-7 heading ... ok test_headings08_level_3_2 (tests.test_roundtripping.TestRoundtripping) a level-2 heading that pretends to be a level-3 heading ... ok test_headings09_level_4_6 (tests.test_roundtripping.TestRoundtripping) a level-4 heading that pretends to be a level-6 heading ... ok test_headings10_newline_before (tests.test_roundtripping.TestRoundtripping) a heading that starts after a newline ... ok test_headings11_text_after (tests.test_roundtripping.TestRoundtripping) text on the same line after ... ok test_headings12_invalid_text_before (tests.test_roundtripping.TestRoundtripping) invalid headings: text on the same line before ... ok test_headings13_invalid_newline_middle (tests.test_roundtripping.TestRoundtripping) invalid headings: newline in the middle ... ok test_headings14_invalid_newline_end (tests.test_roundtripping.TestRoundtripping) invalid headings: newline in the middle ... ok test_headings15_invalid_nesting (tests.test_roundtripping.TestRoundtripping) invalid headings: attempts at nesting ... ok test_headings16_incomplete (tests.test_roundtripping.TestRoundtripping) a heading that starts but doesn't finish ... ok test_html_entities01_named (tests.test_roundtripping.TestRoundtripping) a basic named HTML entity ... ok test_html_entities02_numeric_decimal (tests.test_roundtripping.TestRoundtripping) a basic decimal HTML entity ... ok test_html_entities03_numeric_hexadecimal_x (tests.test_roundtripping.TestRoundtripping) a basic hexadecimal HTML entity, using 'x' as a signal ... ok test_html_entities04_numeric_hexadecimal_X (tests.test_roundtripping.TestRoundtripping) a basic hexadecimal HTML entity, using 'X' as a signal ... ok test_html_entities05_numeric_decimal_max (tests.test_roundtripping.TestRoundtripping) the maximum acceptable decimal numeric entity ... ok test_html_entities06_numeric_hex_max (tests.test_roundtripping.TestRoundtripping) the maximum acceptable hexadecimal numeric entity ... ok test_html_entities07_numeric_zeros (tests.test_roundtripping.TestRoundtripping) zeros accepted at the beginning of a numeric entity ... ok test_html_entities08_numeric_hex_zeros (tests.test_roundtripping.TestRoundtripping) zeros accepted at the beginning of a hex numeric entity ... ok test_html_entities09_invalid_named_too_long (tests.test_roundtripping.TestRoundtripping) a named entity that is too long ... ok test_html_entities10_invalid_named_undefined (tests.test_roundtripping.TestRoundtripping) a named entity that doesn't exist ... ok test_html_entities11_invalid_named_nonascii (tests.test_roundtripping.TestRoundtripping) a named entity with non-ASCII characters ... ok test_html_entities12_invalid_numeric_out_of_range_1 (tests.test_roundtripping.TestRoundtripping) a numeric entity that is out of range: < 1 ... ok test_html_entities13_invalid_numeric_out_of_range_2 (tests.test_roundtripping.TestRoundtripping) a hex numeric entity that is out of range: < 1 ... ok test_html_entities14_invalid_numeric_out_of_range_3 (tests.test_roundtripping.TestRoundtripping) a numeric entity that is out of range: > 0x10FFFF ... ok test_html_entities15_invalid_numeric_out_of_range_4 (tests.test_roundtripping.TestRoundtripping) a hex numeric entity that is out of range: > 0x10FFFF ... ok test_html_entities16_invalid_partial_amp (tests.test_roundtripping.TestRoundtripping) invalid entities: just an ampersand ... ok test_html_entities17_invalid_partial_amp_semicolon (tests.test_roundtripping.TestRoundtripping) invalid entities: an ampersand and semicolon ... ok test_html_entities18_invalid_partial_amp_pound (tests.test_roundtripping.TestRoundtripping) invalid entities: just an ampersand, pound sign ... ok test_html_entities19_invalid_partial_amp_pound_x (tests.test_roundtripping.TestRoundtripping) invalid entities: just an ampersand, pound sign, x ... ok test_html_entities20_invalid_partial_amp_pound_semicolon (tests.test_roundtripping.TestRoundtripping) invalid entities: an ampersand, pound sign, and semicolon ... ok test_html_entities21_invalid_partial_amp_pound_x_semicolon (tests.test_roundtripping.TestRoundtripping) invalid entities: an ampersand, pound sign, x, and semicolon ... ok test_html_entities22_invalid_partial_amp_pound_numbers (tests.test_roundtripping.TestRoundtripping) invalid entities: an ampersand, pound sign, numbers ... ok test_html_entities23_invalid_partial_amp_pound_x_semicolon (tests.test_roundtripping.TestRoundtripping) invalid entities: an ampersand, pound sign, and x ... ok test_integration01_empty (tests.test_roundtripping.TestRoundtripping) sanity check that parsing an empty string yields nothing ... ok test_integration02_template_argument_mix (tests.test_roundtripping.TestRoundtripping) an ambiguous mix of templates and arguments ... ok test_integration03_link_in_template_name (tests.test_roundtripping.TestRoundtripping) a wikilink inside a template name, which breaks the template ... ok test_integration04_rich_heading (tests.test_roundtripping.TestRoundtripping) a heading with templates/wikilinks in it ... ok test_integration05_html_entity_with_template (tests.test_roundtripping.TestRoundtripping) a HTML entity with a template embedded inside ... ok test_integration06_html_entity_with_comment (tests.test_roundtripping.TestRoundtripping) a HTML entity with a comment embedded inside ... ok test_integration07_rich_tags (tests.test_roundtripping.TestRoundtripping) a HTML tag with tons of other things in it ... ok test_integration08_wildcard (tests.test_roundtripping.TestRoundtripping) a wildcard assortment of various things ... ok test_integration09_wildcard_redux (tests.test_roundtripping.TestRoundtripping) an even wilder assortment of various things ... ok test_integration10_link_inside_dl (tests.test_roundtripping.TestRoundtripping) an external link inside a def list, such that the external link is parsed ... ok test_integration11_link_inside_dl_2 (tests.test_roundtripping.TestRoundtripping) an external link inside a def list, such that the external link is not parsed ... ok test_integration12_link_inside_template (tests.test_roundtripping.TestRoundtripping) an external link nested inside a template, before the end ... ok test_integration13_link_inside_template_2 (tests.test_roundtripping.TestRoundtripping) an external link nested inside a template, before a separator ... ok test_integration14_link_inside_template_3 (tests.test_roundtripping.TestRoundtripping) an external link nested inside a template, before an equal sign ... ok test_integration15_link_inside_argument (tests.test_roundtripping.TestRoundtripping) an external link nested inside an argument ... ok test_integration16_link_inside_heading (tests.test_roundtripping.TestRoundtripping) an external link nested inside a heading ... ok test_integration17_link_inside_tag_body (tests.test_roundtripping.TestRoundtripping) an external link nested inside the body of a tag ... ok test_integration18_link_inside_tag_style (tests.test_roundtripping.TestRoundtripping) an external link nested inside style tags ... ok test_integration19_style_tag_inside_link (tests.test_roundtripping.TestRoundtripping) style tags disrupting an external link ... ok test_integration20_comment_inside_link (tests.test_roundtripping.TestRoundtripping) an HTML comment inside an external link ... ok test_integration21_bracketed_link_inside_template (tests.test_roundtripping.TestRoundtripping) a bracketed external link nested inside a template, before the end ... ok test_integration22_comment_inside_bracketed_link (tests.test_roundtripping.TestRoundtripping) an HTML comment inside a bracketed external link ... ok test_integration23_wikilink_inside_external_link (tests.test_roundtripping.TestRoundtripping) a wikilink inside an external link, which the parser considers valid (see issue #61) ... ok test_integration24_external_link_inside_wikilink (tests.test_roundtripping.TestRoundtripping) an external link inside a wikilink, valid in the case of images (see issue #62) ... ok test_integration25_external_link_inside_wikilink_brackets (tests.test_roundtripping.TestRoundtripping) an external link with brackets inside a wikilink ... ok test_integration26_external_link_inside_wikilink_title (tests.test_roundtripping.TestRoundtripping) an external link inside a wikilink title, which is not parsed ... ok test_integration27_italics_inside_external_link_inside_incomplete_list (tests.test_roundtripping.TestRoundtripping) italic text inside an external link inside an incomplete list ... ok test_integration28_nodes_inside_external_link_after_punct (tests.test_roundtripping.TestRoundtripping) various complex nodes inside an external link following punctuation ... ok test_integration29_newline_and_comment_in_template_name (tests.test_roundtripping.TestRoundtripping) a template name containing a newline followed by a comment ... ok test_integration30_newline_and_comment_in_template_name_2 (tests.test_roundtripping.TestRoundtripping) a template name containing a newline followed by a comment ... ok test_integration31_newline_and_comment_in_template_name_3 (tests.test_roundtripping.TestRoundtripping) a template name containing a newline followed by a comment ... ok test_integration32_newline_and_comment_in_template_name_4 (tests.test_roundtripping.TestRoundtripping) a template name containing a newline followed by a comment ... ok test_integration33_newline_and_comment_in_template_name_5 (tests.test_roundtripping.TestRoundtripping) a template name containing a newline followed by a comment ... ok test_integration34_newline_and_comment_in_template_name_6 (tests.test_roundtripping.TestRoundtripping) a template name containing a newline followed by a comment ... ok test_integration35_newline_and_comment_in_template_name_7 (tests.test_roundtripping.TestRoundtripping) a template name containing a newline followed by a comment ... ok test_integration36_newline_and_comment_in_template_name_8 (tests.test_roundtripping.TestRoundtripping) a template name containing a newline followed by a comment ... ok test_integration37_tag_in_link_title (tests.test_roundtripping.TestRoundtripping) HTML tags are invalid in link titles, even when complete ... ok test_integration38_tag_in_template_name (tests.test_roundtripping.TestRoundtripping) HTML tags are invalid in template names, even when complete ... ok test_integration39_tag_in_link_text (tests.test_roundtripping.TestRoundtripping) HTML tags are valid in link text ... ok test_integration40_comment_in_link_title (tests.test_roundtripping.TestRoundtripping) comments are valid in link titles ... ok test_integration41_incomplete_comment_in_link_title (tests.test_roundtripping.TestRoundtripping) incomplete comments are invalid in link titles ... ok test_integration42_incomplete_comment_in_link_title_2 (tests.test_roundtripping.TestRoundtripping) incomplete comments are invalid in link titles ... ok test_integration43_incomplete_comment_in_link_title_3 (tests.test_roundtripping.TestRoundtripping) incomplete comments are invalid in link titles ... ok test_integration44_incomplete_comment_in_link_title_4 (tests.test_roundtripping.TestRoundtripping) incomplete comments are invalid in link titles ... ok test_integration45_incomplete_comment_in_link_title_5 (tests.test_roundtripping.TestRoundtripping) incomplete comments are invalid in link titles ... ok test_integration46_incomplete_comment_in_link_title_6 (tests.test_roundtripping.TestRoundtripping) incomplete comments are invalid in link titles ... ok test_integration47_wikilink_to_external_link_fallback (tests.test_roundtripping.TestRoundtripping) an external link enclosed in an extra pair of brackets (see issue #120) ... ok test_integration48_wikilink_to_external_link_fallback_2 (tests.test_roundtripping.TestRoundtripping) an external link enclosed in an extra pair of brackets (see issue #120) ... ok test_integration49_tables_in_templates (tests.test_roundtripping.TestRoundtripping) catch error handling mistakes when wikitables are inside templates ... ok test_integration50_tables_in_templates_2 (tests.test_roundtripping.TestRoundtripping) catch error handling mistakes when wikitables are inside templates ... ok test_integration51_many_invalid_nested_tags (tests.test_roundtripping.TestRoundtripping) many unending nested tags that should be treated as plain text, followed by valid wikitext (see issues #42, #183) ... ok test_integration52_nested_templates_and_style_tags (tests.test_roundtripping.TestRoundtripping) many nested templates and style tags, testing edge case behavior and error recovery near the recursion depth limit (see issue #224) ... ok test_tables01_empty_table (tests.test_roundtripping.TestRoundtripping) parsing an empty table ... ok test_tables02_inline_table (tests.test_roundtripping.TestRoundtripping) tables with a close on the same line are not valid ... ok test_tables03_no_table_close_simple (tests.test_roundtripping.TestRoundtripping) no table close on inline table ... ok test_tables04_no_table_close_newline (tests.test_roundtripping.TestRoundtripping) no table close with a newline ... ok test_tables05_no_table_close_inside_cell (tests.test_roundtripping.TestRoundtripping) no table close while inside of a cell ... ok test_tables06_no_table_close_inside_cell_after_newline (tests.test_roundtripping.TestRoundtripping) no table close while inside of a cell after a newline ... ok test_tables07_no_table_close_inside_cell_with_attributes (tests.test_roundtripping.TestRoundtripping) no table close while inside of a cell with attributes ... ok test_tables08_no_table_close_inside_row (tests.test_roundtripping.TestRoundtripping) no table close while inside of a row ... ok test_tables09_no_table_close_inside_row_after_newline (tests.test_roundtripping.TestRoundtripping) no table close while inside of a row after a newline ... ok test_tables10_no_table_close_row_and_cell (tests.test_roundtripping.TestRoundtripping) no table close while inside a cell inside a row ... ok test_tables11_no_table_close_attributes (tests.test_roundtripping.TestRoundtripping) don't parse attributes as attributes if the table doesn't exist ... ok test_tables12_no_table_close_unclosed_attributes (tests.test_roundtripping.TestRoundtripping) don't parse unclosed attributes if the table doesn't exist ... ok test_tables13_no_table_close_row_attributes (tests.test_roundtripping.TestRoundtripping) don't parse row attributes as attributes if the table doesn't exist ... ok test_tables14_no_table_close_cell (tests.test_roundtripping.TestRoundtripping) don't parse cells if the table doesn't close ... ok test_tables15_crazy_no_table_close (tests.test_roundtripping.TestRoundtripping) lots of opened wiki syntax without closes ... ok test_tables16_leading_whitespace_table (tests.test_roundtripping.TestRoundtripping) handle leading whitespace for a table ... ok test_tables17_whitespace_after_table (tests.test_roundtripping.TestRoundtripping) handle whitespace after a table close ... ok test_tables18_different_whitespace_after_table (tests.test_roundtripping.TestRoundtripping) handle spaces after a table close ... ok test_tables19_characters_after_table (tests.test_roundtripping.TestRoundtripping) handle characters after a table close ... ok test_tables20_characters_after_inline_table (tests.test_roundtripping.TestRoundtripping) handle characters after an inline table close ... ok test_tables21_leading_characters_table (tests.test_roundtripping.TestRoundtripping) don't parse as a table when leading characters are not newline or whitespace ... ok test_tables22_table_row_simple (tests.test_roundtripping.TestRoundtripping) simple table row ... ok test_tables23_table_row_multiple (tests.test_roundtripping.TestRoundtripping) simple table row ... ok test_tables24_table_cell_simple (tests.test_roundtripping.TestRoundtripping) simple table cell ... ok test_tables25_table_cell_inline (tests.test_roundtripping.TestRoundtripping) multiple inline table cells ... ok test_tables26_table_cell_multiple (tests.test_roundtripping.TestRoundtripping) multiple table cells (non-inline) ... ok test_tables27_table_header_simple (tests.test_roundtripping.TestRoundtripping) simple header cell ... ok test_tables28_table_header_inline (tests.test_roundtripping.TestRoundtripping) multiple inline header cells ... ok test_tables29_table_header_multiple (tests.test_roundtripping.TestRoundtripping) multiple table header cells (non-inline) ... ok test_tables30_nested_cells_and_rows (tests.test_roundtripping.TestRoundtripping) combination of cells and rows in a table ... ok test_tables31_table_cell_fake_close (tests.test_roundtripping.TestRoundtripping) looks like a table close but is not ... ok test_tables32_table_cell_more_fake_close (tests.test_roundtripping.TestRoundtripping) looks like a table close but is not ... ok test_tables33_table_cell_extra_close (tests.test_roundtripping.TestRoundtripping) process second close as text ... ok test_tables34_nowiki_inside_table (tests.test_roundtripping.TestRoundtripping) nowiki handles pipe characters in tables ... ok test_tables35_table_text_outside_cell (tests.test_roundtripping.TestRoundtripping) parse text inside table but outside of a cell ... ok test_tables36_no_table_cell_with_leading_characters (tests.test_roundtripping.TestRoundtripping) fail to create a table cell when there are leading non-whitespace characters ... ok test_tables37_no_table_row_with_leading_characters (tests.test_roundtripping.TestRoundtripping) fail to create a table row when there are leading non-whitespace characters ... ok test_tables38_template_inside_table_cell (tests.test_roundtripping.TestRoundtripping) template within table cell ... ok test_tables39_table_cell_attributes (tests.test_roundtripping.TestRoundtripping) parse table cell style attributes ... ok test_tables40_table_cell_empty_attributes (tests.test_roundtripping.TestRoundtripping) parse table cell with style markers but no attributes ... ok test_tables41_table_cell_with_dash (tests.test_roundtripping.TestRoundtripping) parse a situation in which a cell line looks like a row line ... ok test_tables42_table_cell_attributes_quote_with_pipe (tests.test_roundtripping.TestRoundtripping) pipe inside an attribute quote should still be used as a style separator ... ok test_tables43_table_cell_attributes_name_with_pipe (tests.test_roundtripping.TestRoundtripping) pipe inside an attribute name should still be used as a style separator ... ok test_tables44_table_cell_attributes_pipe_after_equals (tests.test_roundtripping.TestRoundtripping) pipe inside an attribute should still be used as a style separator after an equals ... ok test_tables45_table_cell_attributes_templates (tests.test_roundtripping.TestRoundtripping) pipe inside attributes shouldn't be style separator ... ok test_tables46_header_cell_attributes (tests.test_roundtripping.TestRoundtripping) parse header cell style attributes ... ok test_tables47_inline_cell_attributes (tests.test_roundtripping.TestRoundtripping) parse cell style attributes of inline cells ... ok test_tables48_table_row_attributes (tests.test_roundtripping.TestRoundtripping) parse table row style attributes ... ok test_tables49_table_row_attributes_crazy_whitespace (tests.test_roundtripping.TestRoundtripping) parse table row style attributes with different whitespace ... ok test_tables50_table_attributes (tests.test_roundtripping.TestRoundtripping) parse table style attributes ... ok test_tables51_inline_table_attributes (tests.test_roundtripping.TestRoundtripping) handle attributes in inline tables ... ok test_tables52_table_incorrect_attributes (tests.test_roundtripping.TestRoundtripping) parse incorrect table style attributes ... ok test_tables53_templates_in_table_attribute (tests.test_roundtripping.TestRoundtripping) templates in the attributes of a table, after the start ... ok test_tables54_templates_in_table_attribute_2 (tests.test_roundtripping.TestRoundtripping) templates in the attributes of a table, after the start ... ok test_tables55_inappropriate_marker_at_line_start (tests.test_roundtripping.TestRoundtripping) an inappropriate marker (a right bracket) at the start of a line in the table ... ok test_tables56_fake_close_near_start (tests.test_roundtripping.TestRoundtripping) a fake closing token at the end of the first line in the table ... ok test_tables57_fake_close_near_start_2 (tests.test_roundtripping.TestRoundtripping) a fake closing token at the end of the first line in the table ... ok test_tables58_junk_after_table_start (tests.test_roundtripping.TestRoundtripping) ignore more junk on the first line of the table ... ok test_tables59_junk_after_table_row (tests.test_roundtripping.TestRoundtripping) ignore junk on the first line of a table row ... ok test_tables60_incomplete_nested_open_only (tests.test_roundtripping.TestRoundtripping) many nested incomplete tables: table open only ... ok test_tables61_incomplete_nested_open_and_row (tests.test_roundtripping.TestRoundtripping) many nested incomplete tables: table open and row separator (see issue #206) ... ok test_tags01_basic (tests.test_roundtripping.TestRoundtripping) a basic tag with an open and close ... ok test_tags02_basic_selfclosing (tests.test_roundtripping.TestRoundtripping) a basic self-closing tag ... ok test_tags03_content (tests.test_roundtripping.TestRoundtripping) a tag with some content in the middle ... ok test_tags04_padded_open (tests.test_roundtripping.TestRoundtripping) a tag with some padding in the open tag ... ok test_tags05_padded_close (tests.test_roundtripping.TestRoundtripping) a tag with some padding in the close tag ... ok test_tags06_padded_selfclosing (tests.test_roundtripping.TestRoundtripping) a self-closing tag with padding ... ok test_tags07_attribute (tests.test_roundtripping.TestRoundtripping) a tag with a single attribute ... ok test_tags08_attribute_value (tests.test_roundtripping.TestRoundtripping) a tag with a single attribute with a value ... ok test_tags09_attribute_quoted (tests.test_roundtripping.TestRoundtripping) a tag with a single quoted attribute ... ok test_tags10_attribute_single_quoted (tests.test_roundtripping.TestRoundtripping) a tag with a single singly-quoted attribute ... ok test_tags11_attribute_hyphen (tests.test_roundtripping.TestRoundtripping) a tag with a single attribute, containing a hyphen ... ok test_tags12_attribute_quoted_hyphen (tests.test_roundtripping.TestRoundtripping) a tag with a single quoted attribute, containing a hyphen ... ok test_tags13_attribute_selfclosing (tests.test_roundtripping.TestRoundtripping) a self-closing tag with a single attribute ... ok test_tags14_attribute_selfclosing_value (tests.test_roundtripping.TestRoundtripping) a self-closing tag with a single attribute with a value ... ok test_tags15_attribute_selfclosing_value_quoted (tests.test_roundtripping.TestRoundtripping) a self-closing tag with a single quoted attribute ... ok test_tags16_nested_tag (tests.test_roundtripping.TestRoundtripping) a tag nested within the attributes of another ... ok test_tags17_nested_tag_quoted (tests.test_roundtripping.TestRoundtripping) a tag nested within the attributes of another, quoted ... ok test_tags18_nested_troll_tag (tests.test_roundtripping.TestRoundtripping) a bogus tag that appears to be nested within the attributes of another ... ok test_tags19_nested_troll_tag_quoted (tests.test_roundtripping.TestRoundtripping) a bogus tag that appears to be nested within the attributes of another, quoted ... ok test_tags20_nested_tag_selfclosing (tests.test_roundtripping.TestRoundtripping) a tag nested within the attributes of another; outer tag implicitly self-closing ... ok test_tags21_invalid_space_begin_open (tests.test_roundtripping.TestRoundtripping) invalid tag: a space at the beginning of the open tag ... ok test_tags22_invalid_space_begin_close (tests.test_roundtripping.TestRoundtripping) invalid tag: a space at the beginning of the close tag ... ok test_tags23_valid_space_end (tests.test_roundtripping.TestRoundtripping) valid tag: spaces at the ends of both the open and close tags ... ok test_tags24_invalid_template_ends (tests.test_roundtripping.TestRoundtripping) invalid tag: a template at the ends of both the open and close tags ... ok test_tags25_invalid_template_ends_nospace (tests.test_roundtripping.TestRoundtripping) invalid tag: a template at the ends of both the open and close tags, without spacing ... ok test_tags26_valid_template_end_open (tests.test_roundtripping.TestRoundtripping) valid tag: a template at the end of the open tag ... ok test_tags27_valid_template_end_open_space_end_close (tests.test_roundtripping.TestRoundtripping) valid tag: a template at the end of the open tag; whitespace at the end of the close tag ... ok test_tags28_invalid_template_end_open_nospace (tests.test_roundtripping.TestRoundtripping) invalid tag: a template at the end of the open tag, without spacing ... ok test_tags29_invalid_template_start_close (tests.test_roundtripping.TestRoundtripping) invalid tag: a template at the beginning of the close tag ... ok test_tags30_invalid_template_start_open (tests.test_roundtripping.TestRoundtripping) invalid tag: a template at the beginning of the open tag ... ok test_tags31_unclosed_quote (tests.test_roundtripping.TestRoundtripping) a quoted attribute that is never closed ... ok test_tags32_fake_quote (tests.test_roundtripping.TestRoundtripping) a fake quoted attribute ... ok test_tags33_fake_quote_complex (tests.test_roundtripping.TestRoundtripping) a fake quoted attribute, with spaces and templates and links ... ok test_tags34_quotes_in_quotes (tests.test_roundtripping.TestRoundtripping) singly-quoted text inside a doubly-quoted attribute ... ok test_tags35_quotes_in_quotes_2 (tests.test_roundtripping.TestRoundtripping) doubly-quoted text inside a singly-quoted attribute ... ok test_tags36_quotes_in_quotes_3 (tests.test_roundtripping.TestRoundtripping) doubly-quoted text inside a singly-quoted attribute, with backslashes ... ok test_tags37_incomplete_lbracket (tests.test_roundtripping.TestRoundtripping) incomplete tags: just a left bracket ... ok test_tags38_incomplete_lbracket_junk (tests.test_roundtripping.TestRoundtripping) incomplete tags: just a left bracket, surrounded by stuff ... ok test_tags39_incomplete_unclosed_open (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed open tag ... ok test_tags40_incomplete_unclosed_open_space (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed open tag, space ... ok test_tags41_incomplete_unclosed_open_unnamed_attr (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed open tag, unnamed attribute ... ok test_tags42_incomplete_unclosed_open_attr_equals (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed open tag, attribute, equal sign ... ok test_tags43_incomplete_unclosed_open_attr_equals_quoted (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed open tag, attribute, equal sign, quote ... ok test_tags44_incomplete_unclosed_open_attr (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed open tag, attribute with a key/value ... ok test_tags45_incomplete_unclosed_open_attr_quoted (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed open tag, attribute with a key/value, quoted ... ok test_tags46_incomplete_open (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag ... ok test_tags47_incomplete_open_unnamed_attr (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, unnamed attribute ... ok test_tags48_incomplete_open_attr_equals (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, attribute, equal sign ... ok test_tags49_incomplete_open_attr (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, attribute with a key/value ... ok test_tags50_incomplete_open_attr_quoted (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, attribute with a key/value, quoted ... ok test_tags51_incomplete_open_text (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, text ... ok test_tags52_incomplete_open_attr_text (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, attribute with a key/value, text ... ok test_tags53_incomplete_open_text_lbracket (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, text, left open bracket ... ok test_tags54_incomplete_open_text_lbracket_slash (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, text, left bracket, slash ... ok test_tags55_incomplete_open_text_unclosed_close (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, text, unclosed close ... ok test_tags56_incomplete_open_text_wrong_close (tests.test_roundtripping.TestRoundtripping) incomplete tags: an open tag, text, wrong close ... ok test_tags57_incomplete_unclosed_close (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed close tag ... ok test_tags58_incomplete_unclosed_close_text (tests.test_roundtripping.TestRoundtripping) incomplete tags: an unclosed close tag, with text ... ok test_tags59_incomplete_close (tests.test_roundtripping.TestRoundtripping) incomplete tags: a close tag ... ok test_tags60_incomplete_no_tag_name_open (tests.test_roundtripping.TestRoundtripping) incomplete tags: no tag name within brackets; just an open ... ok test_tags61_incomplete_no_tag_name_selfclosing (tests.test_roundtripping.TestRoundtripping) incomplete tags: no tag name within brackets; self-closing ... ok test_tags62_incomplete_no_tag_name_open_close (tests.test_roundtripping.TestRoundtripping) incomplete tags: no tag name within brackets; open and close ... ok test_tags63_backslash_premature_before (tests.test_roundtripping.TestRoundtripping) a backslash before a quote before a space ... ok test_tags64_backslash_premature_after (tests.test_roundtripping.TestRoundtripping) a backslash before a quote after a space ... ok test_tags65_backslash_premature_middle (tests.test_roundtripping.TestRoundtripping) a backslash before a quote in the middle of a word ... ok test_tags66_backslash_adjacent (tests.test_roundtripping.TestRoundtripping) escaped quotes next to unescaped quotes ... ok test_tags67_backslash_endquote (tests.test_roundtripping.TestRoundtripping) backslashes before the end quote, causing the attribute to become unquoted ... ok test_tags68_backslash_double (tests.test_roundtripping.TestRoundtripping) two adjacent backslashes, which do *not* affect the quote ... ok test_tags69_backslash_triple (tests.test_roundtripping.TestRoundtripping) three adjacent backslashes, which do *not* affect the quote ... ok test_tags70_backslash_unaffecting (tests.test_roundtripping.TestRoundtripping) backslashes near quotes, but not immediately adjacent, thus having no effect ... ok test_tags71_unparsable (tests.test_roundtripping.TestRoundtripping) a tag that should not be put through the normal parser ... ok test_tags72_unparsable_complex (tests.test_roundtripping.TestRoundtripping) a tag that should not be put through the normal parser; lots of stuff inside ... ok test_tags73_unparsable_attributed (tests.test_roundtripping.TestRoundtripping) a tag that should not be put through the normal parser; parsed attributes ... ok test_tags74_unparsable_incomplete (tests.test_roundtripping.TestRoundtripping) a tag that should not be put through the normal parser; incomplete ... ok test_tags75_unparsable_entity (tests.test_roundtripping.TestRoundtripping) a HTML entity inside unparsable text is still parsed ... ok test_tags76_unparsable_entity_incomplete (tests.test_roundtripping.TestRoundtripping) an incomplete HTML entity inside unparsable text ... ok test_tags77_unparsable_entity_incomplete_2 (tests.test_roundtripping.TestRoundtripping) an incomplete HTML entity inside unparsable text ... ok test_tags78_single_open_close (tests.test_roundtripping.TestRoundtripping) a tag that supports being single; both an open and a close tag ... ok test_tags79_single_open (tests.test_roundtripping.TestRoundtripping) a tag that supports being single; just an open tag ... ok test_tags80_single_selfclose (tests.test_roundtripping.TestRoundtripping) a tag that supports being single; a self-closing tag ... ok test_tags81_single_close (tests.test_roundtripping.TestRoundtripping) a tag that supports being single; just a close tag ... ok test_tags82_single_only_open_close (tests.test_roundtripping.TestRoundtripping) a tag that can only be single; both an open and a close tag ... ok test_tags83_single_only_open (tests.test_roundtripping.TestRoundtripping) a tag that can only be single; just an open tag ... ok test_tags84_single_only_selfclose (tests.test_roundtripping.TestRoundtripping) a tag that can only be single; a self-closing tag ... ok test_tags85_single_only_close (tests.test_roundtripping.TestRoundtripping) a tag that can only be single; just a close tag ... ok test_tags86_single_only_double (tests.test_roundtripping.TestRoundtripping) a tag that can only be single; a tag with backslashes at the beginning and end ... ok test_tags87_single_only_close_attribute (tests.test_roundtripping.TestRoundtripping) a tag that can only be single; presented as a close tag with an attribute ... ok test_tags88_capitalization (tests.test_roundtripping.TestRoundtripping) caps should be ignored within tag names ... ok test_tags89_unparsable_incomplete_close (tests.test_roundtripping.TestRoundtripping) an unparsable tag with an incomplete close afterwards ... ok test_tags90_unparsable_with_intermediates (tests.test_roundtripping.TestRoundtripping) an unparsable tag with intermediate tags inside of it ... ok test_tags91_unparsable_with_intermediates_normalize (tests.test_roundtripping.TestRoundtripping) an unparsable tag with intermediate tags inside of it, requiring normalization ... ok test_tags92_non_ascii_open (tests.test_roundtripping.TestRoundtripping) a open tag containing non-ASCII characters ... ok test_tags93_non_ascii_full (tests.test_roundtripping.TestRoundtripping) an open/close tag pair containing non-ASCII characters ... ok test_tags94_single_nested_selfclosing (tests.test_roundtripping.TestRoundtripping) a single (unpaired) tag with a self-closing tag in the middle (see issue #147) ... ok test_tags_wikimarkup01_basic_italics (tests.test_roundtripping.TestRoundtripping) basic italic text ... ok test_tags_wikimarkup02_basic_bold (tests.test_roundtripping.TestRoundtripping) basic bold text ... ok test_tags_wikimarkup03_basic_ul (tests.test_roundtripping.TestRoundtripping) basic unordered list ... ok test_tags_wikimarkup04_basic_ol (tests.test_roundtripping.TestRoundtripping) basic ordered list ... ok test_tags_wikimarkup05_basic_dt (tests.test_roundtripping.TestRoundtripping) basic description term ... ok test_tags_wikimarkup06_basic_dd (tests.test_roundtripping.TestRoundtripping) basic description item ... ok test_tags_wikimarkup07_basic_hr (tests.test_roundtripping.TestRoundtripping) basic horizontal rule ... ok test_tags_wikimarkup08_complex_italics (tests.test_roundtripping.TestRoundtripping) italics with a lot in them ... ok test_tags_wikimarkup09_multiline_italics (tests.test_roundtripping.TestRoundtripping) italics spanning mulitple lines ... ok test_tags_wikimarkup10_unending_italics (tests.test_roundtripping.TestRoundtripping) italics without an ending tag ... ok test_tags_wikimarkup11_misleading_italics_end (tests.test_roundtripping.TestRoundtripping) italics with something that looks like an end but isn't ... ok test_tags_wikimarkup12_italics_start_outside_end_inside (tests.test_roundtripping.TestRoundtripping) italics that start outside a link and end inside it ... ok test_tags_wikimarkup13_italics_start_inside_end_outside (tests.test_roundtripping.TestRoundtripping) italics that start inside a link and end outside it ... ok test_tags_wikimarkup14_complex_bold (tests.test_roundtripping.TestRoundtripping) bold with a lot in it ... ok test_tags_wikimarkup15_multiline_bold (tests.test_roundtripping.TestRoundtripping) bold spanning mulitple lines ... ok test_tags_wikimarkup16_unending_bold (tests.test_roundtripping.TestRoundtripping) bold without an ending tag ... ok test_tags_wikimarkup17_misleading_bold_end (tests.test_roundtripping.TestRoundtripping) bold with something that looks like an end but isn't ... ok test_tags_wikimarkup18_bold_start_outside_end_inside (tests.test_roundtripping.TestRoundtripping) bold that start outside a link and end inside it ... ok test_tags_wikimarkup19_bold_start_inside_end_outside (tests.test_roundtripping.TestRoundtripping) bold that start inside a link and end outside it ... ok test_tags_wikimarkup20_bold_and_italics (tests.test_roundtripping.TestRoundtripping) bold and italics together ... ok test_tags_wikimarkup21_both_then_bold (tests.test_roundtripping.TestRoundtripping) text that starts bold/italic, then is just bold ... ok test_tags_wikimarkup22_both_then_italics (tests.test_roundtripping.TestRoundtripping) text that starts bold/italic, then is just italic ... ok test_tags_wikimarkup23_bold_then_both (tests.test_roundtripping.TestRoundtripping) text that starts just bold, then is bold/italic ... ok test_tags_wikimarkup24_italics_then_both (tests.test_roundtripping.TestRoundtripping) text that starts just italic, then is bold/italic ... ok test_tags_wikimarkup25_italics_then_bold (tests.test_roundtripping.TestRoundtripping) text that starts italic, then is bold ... ok test_tags_wikimarkup26_bold_then_italics (tests.test_roundtripping.TestRoundtripping) text that starts bold, then is italic ... ok test_tags_wikimarkup27_five_three (tests.test_roundtripping.TestRoundtripping) five ticks to open, three to close (bold) ... ok test_tags_wikimarkup28_five_two (tests.test_roundtripping.TestRoundtripping) five ticks to open, two to close (bold) ... ok test_tags_wikimarkup29_four (tests.test_roundtripping.TestRoundtripping) four ticks ... ok test_tags_wikimarkup30_four_two (tests.test_roundtripping.TestRoundtripping) four ticks to open, two to close ... ok test_tags_wikimarkup31_two_three (tests.test_roundtripping.TestRoundtripping) two ticks to open, three to close ... ok test_tags_wikimarkup32_two_four (tests.test_roundtripping.TestRoundtripping) two ticks to open, four to close ... ok test_tags_wikimarkup33_two_three_two (tests.test_roundtripping.TestRoundtripping) two ticks to open, three to close, two afterwards ... ok test_tags_wikimarkup34_two_four_four (tests.test_roundtripping.TestRoundtripping) two ticks to open, four to close, four afterwards ... ok test_tags_wikimarkup35_seven (tests.test_roundtripping.TestRoundtripping) seven ticks ... ok test_tags_wikimarkup36_unending_bold_and_italics (tests.test_roundtripping.TestRoundtripping) five ticks (bold and italics) that don't end ... ok test_tags_wikimarkup37_complex_ul (tests.test_roundtripping.TestRoundtripping) ul with a lot in it ... ok test_tags_wikimarkup38_ul_multiline_template (tests.test_roundtripping.TestRoundtripping) ul with a template that spans multiple lines ... ok test_tags_wikimarkup39_ul_adjacent (tests.test_roundtripping.TestRoundtripping) multiple adjacent uls ... ok test_tags_wikimarkup40_ul_depths (tests.test_roundtripping.TestRoundtripping) multiple adjacent uls, with differing depths ... ok test_tags_wikimarkup41_ul_space_before (tests.test_roundtripping.TestRoundtripping) uls with space before them ... ok test_tags_wikimarkup42_ul_interruption (tests.test_roundtripping.TestRoundtripping) high-depth ul with something blocking it ... ok test_tags_wikimarkup43_complex_ol (tests.test_roundtripping.TestRoundtripping) ol with a lot in it ... ok test_tags_wikimarkup44_ol_multiline_template (tests.test_roundtripping.TestRoundtripping) ol with a template that spans moltiple lines ... ok test_tags_wikimarkup45_ol_adjacent (tests.test_roundtripping.TestRoundtripping) moltiple adjacent ols ... ok test_tags_wikimarkup46_ol_depths (tests.test_roundtripping.TestRoundtripping) moltiple adjacent ols, with differing depths ... ok test_tags_wikimarkup47_ol_space_before (tests.test_roundtripping.TestRoundtripping) ols with space before them ... ok test_tags_wikimarkup48_ol_interruption (tests.test_roundtripping.TestRoundtripping) high-depth ol with something blocking it ... ok test_tags_wikimarkup49_ul_ol_mix (tests.test_roundtripping.TestRoundtripping) a mix of adjacent uls and ols ... ok test_tags_wikimarkup50_complex_dt (tests.test_roundtripping.TestRoundtripping) dt with a lot in it ... ok test_tags_wikimarkup51_dt_multiline_template (tests.test_roundtripping.TestRoundtripping) dt with a template that spans mdttiple lines ... ok test_tags_wikimarkup52_dt_adjacent (tests.test_roundtripping.TestRoundtripping) mdttiple adjacent dts ... ok test_tags_wikimarkup53_dt_depths (tests.test_roundtripping.TestRoundtripping) mdttiple adjacent dts, with differing depths ... ok test_tags_wikimarkup54_dt_space_before (tests.test_roundtripping.TestRoundtripping) dts with space before them ... ok test_tags_wikimarkup55_dt_interruption (tests.test_roundtripping.TestRoundtripping) high-depth dt with something blocking it ... ok test_tags_wikimarkup56_complex_dd (tests.test_roundtripping.TestRoundtripping) dd with a lot in it ... ok test_tags_wikimarkup57_dd_multiline_template (tests.test_roundtripping.TestRoundtripping) dd with a template that spans mddtiple lines ... ok test_tags_wikimarkup58_dd_adjacent (tests.test_roundtripping.TestRoundtripping) mddtiple adjacent dds ... ok test_tags_wikimarkup59_dd_depths (tests.test_roundtripping.TestRoundtripping) mddtiple adjacent dds, with differing depths ... ok test_tags_wikimarkup60_dd_space_before (tests.test_roundtripping.TestRoundtripping) dds with space before them ... ok test_tags_wikimarkup61_dd_interruption (tests.test_roundtripping.TestRoundtripping) high-depth dd with something blocking it ... ok test_tags_wikimarkup62_dt_dd_mix (tests.test_roundtripping.TestRoundtripping) a mix of adjacent dts and dds ... ok test_tags_wikimarkup63_dt_dd_mix2 (tests.test_roundtripping.TestRoundtripping) the correct usage of a dt/dd unit, as in a dl ... ok test_tags_wikimarkup64_dt_dd_mix3 (tests.test_roundtripping.TestRoundtripping) another example of correct (but strange) dt/dd usage ... ok test_tags_wikimarkup65_dt_dd_mix4 (tests.test_roundtripping.TestRoundtripping) another example of correct dt/dd usage, with a trigger for a specific parse route ... ok test_tags_wikimarkup66_ul_ol_dt_dd_mix (tests.test_roundtripping.TestRoundtripping) an assortment of uls, ols, dds, and dts ... ok test_tags_wikimarkup67_hr_text_before (tests.test_roundtripping.TestRoundtripping) text before an otherwise-valid hr ... ok test_tags_wikimarkup68_hr_text_after (tests.test_roundtripping.TestRoundtripping) text after a valid hr ... ok test_tags_wikimarkup69_hr_text_before_after (tests.test_roundtripping.TestRoundtripping) text at both ends of an otherwise-valid hr ... ok test_tags_wikimarkup70_hr_newlines (tests.test_roundtripping.TestRoundtripping) newlines surrounding a valid hr ... ok test_tags_wikimarkup71_hr_adjacent (tests.test_roundtripping.TestRoundtripping) two adjacent hrs ... ok test_tags_wikimarkup72_hr_adjacent_space (tests.test_roundtripping.TestRoundtripping) two adjacent hrs, with a space before the second one, making it invalid ... ok test_tags_wikimarkup73_hr_short (tests.test_roundtripping.TestRoundtripping) an invalid three-hyphen-long hr ... ok test_tags_wikimarkup74_hr_long (tests.test_roundtripping.TestRoundtripping) a very long, valid hr ... ok test_tags_wikimarkup75_hr_interruption_short (tests.test_roundtripping.TestRoundtripping) a hr that is interrupted, making it invalid ... ok test_tags_wikimarkup76_hr_interruption_long (tests.test_roundtripping.TestRoundtripping) a hr that is interrupted, but the first part remains valid because it is long enough ... ok test_tags_wikimarkup77_nowiki_cancel (tests.test_roundtripping.TestRoundtripping) a nowiki tag before a list causes it to not be parsed ... ok test_templates001_no_params (tests.test_roundtripping.TestRoundtripping) simplest type of template ... ok test_templates002_one_param_unnamed (tests.test_roundtripping.TestRoundtripping) basic template with one unnamed parameter ... ok test_templates003_one_param_named (tests.test_roundtripping.TestRoundtripping) basic template with one named parameter ... ok test_templates004_multiple_unnamed_params (tests.test_roundtripping.TestRoundtripping) basic template with multiple unnamed parameters ... ok test_templates005_multiple_named_params (tests.test_roundtripping.TestRoundtripping) basic template with multiple named parameters ... ok test_templates006_multiple_mixed_params (tests.test_roundtripping.TestRoundtripping) basic template with multiple unnamed/named parameters ... ok test_templates007_multiple_mixed_params2 (tests.test_roundtripping.TestRoundtripping) basic template with multiple unnamed/named parameters in another order ... ok test_templates008_blank_params (tests.test_roundtripping.TestRoundtripping) template with blank parameters (mix of pipes and equal signs) ... ok test_templates009_nested_unnamed_param (tests.test_roundtripping.TestRoundtripping) nested template as an unnamed parameter ... ok test_templates010_nested_named_param_value (tests.test_roundtripping.TestRoundtripping) nested template as a parameter value with a named parameter ... ok test_templates011_nested_named_param_name_and_value (tests.test_roundtripping.TestRoundtripping) nested templates as a parameter name and value ... ok test_templates012_nested_name_start (tests.test_roundtripping.TestRoundtripping) nested template at the beginning of a template name ... ok test_templates013_nested_name_start_unnamed_param (tests.test_roundtripping.TestRoundtripping) nested template at the beginning of a template name and as an unnamed parameter ... ok test_templates014_nested_name_start_named_param_value (tests.test_roundtripping.TestRoundtripping) nested template at the beginning of a template name and as a parameter value with a named parameter ... ok test_templates015_nested_name_start_named_param_name_and_value (tests.test_roundtripping.TestRoundtripping) nested template at the beginning of a template name and as a parameter name and value ... ok test_templates016_nested_name_end (tests.test_roundtripping.TestRoundtripping) nested template at the end of a template name ... ok test_templates017_nested_name_end_unnamed_param (tests.test_roundtripping.TestRoundtripping) nested template at the end of a template name and as an unnamed parameter ... ok test_templates018_nested_name_end_named_param_value (tests.test_roundtripping.TestRoundtripping) nested template at the end of a template name and as a parameter value with a named parameter ... ok test_templates019_nested_name_end_named_param_name_and_value (tests.test_roundtripping.TestRoundtripping) nested template at the end of a template name and as a parameter name and value ... ok test_templates020_nested_name_mid (tests.test_roundtripping.TestRoundtripping) nested template in the middle of a template name ... ok test_templates021_nested_name_mid_unnamed_param (tests.test_roundtripping.TestRoundtripping) nested template in the middle of a template name and as an unnamed parameter ... ok test_templates022_nested_name_mid_named_param_value (tests.test_roundtripping.TestRoundtripping) nested template in the middle of a template name and as a parameter value with a named parameter ... ok test_templates023_nested_name_mid_named_param_name_and_value (tests.test_roundtripping.TestRoundtripping) nested template in the middle of a template name and as a parameter name and value ... ok test_templates024_nested_name_start_end (tests.test_roundtripping.TestRoundtripping) nested template at the beginning and end of a template name ... ok test_templates025_nested_name_start_end_unnamed_param (tests.test_roundtripping.TestRoundtripping) nested template at the beginning and end of a template name and as an unnamed parameter ... ok test_templates026_nested_name_start_end_named_param_value (tests.test_roundtripping.TestRoundtripping) nested template at the beginning and end of a template name and as a parameter value with a named parameter ... ok test_templates027_nested_name_start_end_named_param_name_and_value (tests.test_roundtripping.TestRoundtripping) nested template at the beginning and end of a template name and as a parameter name and value ... ok test_templates028_nested_names_multiple (tests.test_roundtripping.TestRoundtripping) multiple nested templates within nested templates ... ok test_templates029_nested_names_multiple_unnamed_param (tests.test_roundtripping.TestRoundtripping) multiple nested templates within nested templates with a nested unnamed parameter ... ok test_templates030_nested_names_multiple_named_param_value (tests.test_roundtripping.TestRoundtripping) multiple nested templates within nested templates with a nested parameter value in a named parameter ... ok test_templates031_nested_names_multiple_named_param_name_and_value (tests.test_roundtripping.TestRoundtripping) multiple nested templates within nested templates with a nested parameter name and value ... ok test_templates032_mixed_nested_templates (tests.test_roundtripping.TestRoundtripping) mixed assortment of nested templates within template names, parameter names, and values ... ok test_templates033_nested_two_args (tests.test_roundtripping.TestRoundtripping) template whose first parameter is unnamed with two templates, followed by a named parameter ... ok test_templates034_newlines_start (tests.test_roundtripping.TestRoundtripping) a newline at the start of a template name ... ok test_templates035_newlines_end (tests.test_roundtripping.TestRoundtripping) a newline at the end of a template name ... ok test_templates036_newlines_start_end (tests.test_roundtripping.TestRoundtripping) a newline at the start and end of a template name ... ok test_templates037_newlines_mid (tests.test_roundtripping.TestRoundtripping) a newline at the middle of a template name ... ok test_templates038_newlines_start_mid (tests.test_roundtripping.TestRoundtripping) a newline at the start and middle of a template name ... ok test_templates039_newlines_mid_end (tests.test_roundtripping.TestRoundtripping) a newline at the middle and end of a template name ... ok test_templates040_newlines_start_mid_end (tests.test_roundtripping.TestRoundtripping) a newline at the start, middle, and end of a template name ... ok test_templates041_newlines_unnamed_param (tests.test_roundtripping.TestRoundtripping) newlines within an unnamed template parameter ... ok test_templates042_newlines_enclose_template_name_unnamed_param (tests.test_roundtripping.TestRoundtripping) newlines enclosing a template name and within an unnamed template parameter ... ok test_templates043_newlines_within_template_name_unnamed_param (tests.test_roundtripping.TestRoundtripping) newlines within a template name and within an unnamed template parameter ... ok test_templates044_newlines_enclose_template_name_named_param_value (tests.test_roundtripping.TestRoundtripping) newlines enclosing a template name and within a named parameter value ... ok test_templates045_newlines_within_template_name_named_param_value (tests.test_roundtripping.TestRoundtripping) newlines within a template name and within a named parameter value ... ok test_templates046_newlines_named_param_name (tests.test_roundtripping.TestRoundtripping) newlines within a parameter name ... ok test_templates047_newlines_named_param_name_param_value (tests.test_roundtripping.TestRoundtripping) newlines within a parameter name and within a parameter value ... ok test_templates048_newlines_enclose_template_name_named_param_name (tests.test_roundtripping.TestRoundtripping) newlines enclosing a template name and within a parameter name ... ok test_templates049_newlines_enclose_template_name_named_param_name_param_value (tests.test_roundtripping.TestRoundtripping) newlines enclosing a template name and within a parameter name and within a parameter value ... ok test_templates050_newlines_within_template_name_named_param_name (tests.test_roundtripping.TestRoundtripping) newlines within a template name and within a parameter name ... ok test_templates051_newlines_within_template_name_named_param_name_param_value (tests.test_roundtripping.TestRoundtripping) newlines within a template name and within a parameter name and within a parameter value ... ok test_templates052_newlines_wildcard (tests.test_roundtripping.TestRoundtripping) a random, complex assortment of templates and newlines ... ok test_templates053_newlines_wildcard_redux (tests.test_roundtripping.TestRoundtripping) an even more random and complex assortment of templates and newlines ... ok test_templates054_newlines_wildcard_redux_invalid (tests.test_roundtripping.TestRoundtripping) a variation of the newlines_wildcard_redux test that is invalid ... ok test_templates055_newlines_spaces (tests.test_roundtripping.TestRoundtripping) newlines in the middle of a template name, followed by spaces ... ok test_templates056_newlines_spaces_param (tests.test_roundtripping.TestRoundtripping) newlines in the middle of a template name, followed by spaces, with a parameter ... ok test_templates057_invalid_blank (tests.test_roundtripping.TestRoundtripping) invalid template with no content ... ok test_templates058_invalid_blank_whitespace (tests.test_roundtripping.TestRoundtripping) invalid template with no content, but whitespace ... ok test_templates059_invalid_blank_pipe (tests.test_roundtripping.TestRoundtripping) invalid template with no content, but a parameter ... ok test_templates060_invalid_blank_whitespace_pipe (tests.test_roundtripping.TestRoundtripping) invalid template with no content, but whitespace and a parameter ... ok test_templates061_invalid_name_left_brace_middle (tests.test_roundtripping.TestRoundtripping) invalid characters in template name: left brace in middle ... ok test_templates062_invalid_name_right_brace_middle (tests.test_roundtripping.TestRoundtripping) invalid characters in template name: right brace in middle ... ok test_templates063_invalid_name_left_braces (tests.test_roundtripping.TestRoundtripping) invalid characters in template name: two left braces in middle ... ok test_templates064_invalid_name_left_bracket_middle (tests.test_roundtripping.TestRoundtripping) invalid characters in template name: left bracket in middle ... ok test_templates065_invalid_name_right_bracket_middle (tests.test_roundtripping.TestRoundtripping) invalid characters in template name: right bracket in middle ... ok test_templates066_invalid_name_left_bracket_start (tests.test_roundtripping.TestRoundtripping) invalid characters in template name: left bracket at start ... ok test_templates067_invalid_name_right_bracket_start (tests.test_roundtripping.TestRoundtripping) invalid characters in template name: right bracket at end ... ok test_templates068_valid_name_left_brace_start (tests.test_roundtripping.TestRoundtripping) valid characters in template name: left brace at start ... ok test_templates069_valid_unnamed_param_left_brace (tests.test_roundtripping.TestRoundtripping) valid characters in unnamed template parameter: left brace ... ok test_templates070_valid_unnamed_param_braces (tests.test_roundtripping.TestRoundtripping) valid characters in unnamed template parameter: left and right braces ... ok test_templates071_valid_param_name_braces (tests.test_roundtripping.TestRoundtripping) valid characters in template parameter name: left and right braces ... ok test_templates072_valid_param_name_brackets (tests.test_roundtripping.TestRoundtripping) valid characters in unnamed template parameter: left and right brackets ... ok test_templates073_valid_param_name_double_left_brackets (tests.test_roundtripping.TestRoundtripping) valid characters in unnamed template parameter: double left brackets ... ok test_templates074_valid_param_name_double_right_brackets (tests.test_roundtripping.TestRoundtripping) valid characters in unnamed template parameter: double right brackets ... ok test_templates075_valid_param_name_double_brackets (tests.test_roundtripping.TestRoundtripping) valid characters in unnamed template parameter: double left and right brackets ... ok test_templates076_invalid_param_name_double_left_braces (tests.test_roundtripping.TestRoundtripping) invalid characters in template parameter name: double left braces ... ok test_templates077_invalid_param_name_double_braces (tests.test_roundtripping.TestRoundtripping) invalid characters in template parameter name: double left and right braces ... ok test_templates078_invalid_left_angle_bracket (tests.test_roundtripping.TestRoundtripping) invalid template: left angle bracket in name ... ok test_templates079_invalid_right_angle_bracket (tests.test_roundtripping.TestRoundtripping) invalid template: right angle bracket in name ... ok test_templates080_incomplete_stub (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: just an opening ... ok test_templates081_incomplete_plain (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: no close whatsoever ... ok test_templates082_incomplete_right_brace (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: only one right brace ... ok test_templates083_incomplete_pipe (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: a pipe ... ok test_templates084_incomplete_unnamed_param (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: an unnamed parameter ... ok test_templates085_incomplete_unnamed_param_pipe (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: an unnamed parameter, then a pipe ... ok test_templates086_incomplete_valueless_param (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: an a named parameter with no value ... ok test_templates087_incomplete_valueless_param_pipe (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: a named parameter with no value, then a pipe ... ok test_templates088_incomplete_named_param (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: a named parameter with a value ... ok test_templates089_incomplete_named_param_pipe (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: a named parameter with a value, then a paipe ... ok test_templates090_incomplete_two_unnamed_params (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: two unnamed parameters ... ok test_templates091_incomplete_unnamed_param_valueless_param (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: an unnamed parameter, then a named parameter with no value ... ok test_templates092_incomplete_unnamed_param_named_param (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: an unnamed parameter, then a named parameter with a value ... ok test_templates093_incomplete_named_param_unnamed_param (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: a named parameter with a value, then an unnamed parameter ... ok test_templates094_incomplete_named_param_valueless_param (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: a named parameter with a value, then a named parameter with no value ... ok test_templates095_incomplete_two_named_params (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: two named parameters with values ... ok test_templates096_incomplete_nested_template_as_unnamed_param (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: a valid nested template as an unnamed parameter ... ok test_templates097_incomplete_nested_template_as_param_value (tests.test_roundtripping.TestRoundtripping) incomplete templates that should fail gracefully: a valid nested template as a parameter value ... ok test_templates098_recursion_five_hundred_opens (tests.test_roundtripping.TestRoundtripping) test potentially dangerous recursion: five hundred template openings, without spaces ... ok test_templates099_recursion_one_hundred_opens (tests.test_roundtripping.TestRoundtripping) test potentially dangerous recursion: one hundred template openings, with spaces ... ok test_templates100_recursion_opens_and_closes (tests.test_roundtripping.TestRoundtripping) test potentially dangerous recursion: template openings and closings ... ok test_templates101_invalid_section_level_1 (tests.test_roundtripping.TestRoundtripping) level 1 headings inside a template are always invalid ... ok test_templates102_section_level_2 (tests.test_roundtripping.TestRoundtripping) valid level 2 heading inside a template ... ok test_templates103_invalid_section_level_2 (tests.test_roundtripping.TestRoundtripping) invalid level 2 heading inside a template ... ok test_templates104_section_level_2_after_template_parameter (tests.test_roundtripping.TestRoundtripping) level 2 heading inside a template after a parameter ... ok test_text1_basic (tests.test_roundtripping.TestRoundtripping) sanity check for basic text parsing, no gimmicks ... ok test_text2_newlines (tests.test_roundtripping.TestRoundtripping) slightly more complex text parsing, with newlines ... ok test_text3_unicode (tests.test_roundtripping.TestRoundtripping) ensure unicode data is handled properly ... ok test_text4_unicode2 (tests.test_roundtripping.TestRoundtripping) additional unicode check for non-BMP codepoints ... ok test_text5_large (tests.test_roundtripping.TestRoundtripping) a lot of text, requiring proper storage in the C tokenizer ... ok test_wikilinks01_blank (tests.test_roundtripping.TestRoundtripping) wikilink with no content ... ok test_wikilinks02_blank_with_text (tests.test_roundtripping.TestRoundtripping) wikilink with no content but a pipe ... ok test_wikilinks03_basic (tests.test_roundtripping.TestRoundtripping) simplest type of wikilink ... ok test_wikilinks04_with_text (tests.test_roundtripping.TestRoundtripping) wikilink with a text value ... ok test_wikilinks05_blank_with_multiple_texts (tests.test_roundtripping.TestRoundtripping) no content, multiple pipes ... ok test_wikilinks06_multiple_texts (tests.test_roundtripping.TestRoundtripping) multiple text values separated by pipes ... ok test_wikilinks07_newline_text (tests.test_roundtripping.TestRoundtripping) a newline in the middle of the text ... ok test_wikilinks08_bracket_text (tests.test_roundtripping.TestRoundtripping) a left bracket in the middle of the text ... ok test_wikilinks09_nested (tests.test_roundtripping.TestRoundtripping) a wikilink nested within another ... ok test_wikilinks10_nested_padding (tests.test_roundtripping.TestRoundtripping) a wikilink nested within another, separated by other data ... ok test_wikilinks11_invalid_newline (tests.test_roundtripping.TestRoundtripping) invalid wikilink: newline as only content ... ok test_wikilinks12_invalid_right_brace (tests.test_roundtripping.TestRoundtripping) invalid wikilink: right brace ... ok test_wikilinks13_invalid_left_brace (tests.test_roundtripping.TestRoundtripping) invalid wikilink: left brace ... ok test_wikilinks14_invalid_right_bracket (tests.test_roundtripping.TestRoundtripping) invalid wikilink: right bracket ... ok test_wikilinks15_invalid_left_bracket (tests.test_roundtripping.TestRoundtripping) invalid wikilink: left bracket ... ok test_wikilinks16_invalid_nested (tests.test_roundtripping.TestRoundtripping) invalid wikilink: trying to nest in the wrong context ... ok test_wikilinks17_invalid_nested_padding (tests.test_roundtripping.TestRoundtripping) invalid wikilink: trying to nest in the wrong context, with a text param ... ok test_wikilinks18_invalid_nested_no_close (tests.test_roundtripping.TestRoundtripping) invalid wikilink: a wikilink nested within the value of another, missing a pair of closing brackets ... ok test_wikilinks19_invalid_left_angle_bracket (tests.test_roundtripping.TestRoundtripping) invalid wikilink: left angle bracket ... ok test_wikilinks20_invalid_right_angle_bracket (tests.test_roundtripping.TestRoundtripping) invalid wikilink: right angle bracket ... ok test_wikilinks21_invalid_newline_at_start (tests.test_roundtripping.TestRoundtripping) invalid wikilink: newline at start of title ... ok test_wikilinks22_invalid_newline_at_end (tests.test_roundtripping.TestRoundtripping) invalid wikilink: newline at end of title ... ok test_wikilinks23_incomplete_open_only (tests.test_roundtripping.TestRoundtripping) incomplete wikilinks: just an open ... ok test_wikilinks24_incomplete_open_text (tests.test_roundtripping.TestRoundtripping) incomplete wikilinks: an open with some text ... ok test_wikilinks25_incomplete_open_text_pipe (tests.test_roundtripping.TestRoundtripping) incomplete wikilinks: an open, text, then a pipe ... ok test_wikilinks26_incomplete_open_pipe (tests.test_roundtripping.TestRoundtripping) incomplete wikilinks: an open, then a pipe ... ok test_wikilinks27_incomplete_open_pipe_text (tests.test_roundtripping.TestRoundtripping) incomplete wikilinks: an open, then a pipe, then text ... ok test_wikilinks28_incomplete_open_pipes_text (tests.test_roundtripping.TestRoundtripping) incomplete wikilinks: a pipe, then text then two pipes ... ok test_wikilinks29_incomplete_open_partial_close (tests.test_roundtripping.TestRoundtripping) incomplete wikilinks: an open, then one right brace ... ok test_wikilinks30_incomplete_preserve_previous (tests.test_roundtripping.TestRoundtripping) incomplete wikilinks: a valid wikilink followed by an invalid one ... ok test_children (tests.test_heading.TestHeading) test Heading.__children__() ... ok test_level (tests.test_heading.TestHeading) test getter/setter for the level attribute ... ok test_showtree (tests.test_heading.TestHeading) test Heading.__showtree__() ... ok test_str (tests.test_heading.TestHeading) test Heading.__str__() ... ok test_strip (tests.test_heading.TestHeading) test Heading.__strip__() ... ok test_title (tests.test_heading.TestHeading) test getter/setter for the title attribute ... ok test_attributes (tests.test_tokens.TestTokens) check that Token attributes can be managed properly ... ok test_equality (tests.test_tokens.TestTokens) check that equivalent tokens are considered equal ... ok test_issubclass (tests.test_tokens.TestTokens) check that all classes within the tokens module are really Tokens ... ok test_repr (tests.test_tokens.TestTokens) check that repr() on a Token works as expected ... ok test_repr_equality (tests.test_tokens.TestTokens) check that eval(repr(token)) == token ... ok test_name (tests.test_attribute.TestAttribute) test getter/setter for the name attribute ... ok test_padding (tests.test_attribute.TestAttribute) test getter/setter for the padding attributes ... ok test_quotes (tests.test_attribute.TestAttribute) test getter/setter for the quotes attribute ... ok test_str (tests.test_attribute.TestAttribute) test Attribute.__str__() ... ok test_value (tests.test_attribute.TestAttribute) test getter/setter for the value attribute ... ok test_parse_anything_invalid (tests.test_utils.TestUtils) tests for invalid input to utils.parse_anything() ... ok test_parse_anything_valid (tests.test_utils.TestUtils) tests for valid input to utils.parse_anything() ... ok test_comparisons (tests.test_string_mixin.TestStringMixIn) make sure comparison operators work ... ok test_docs (tests.test_string_mixin.TestStringMixIn) make sure the various methods of StringMixIn have docstrings ... ok test_other_magics (tests.test_string_mixin.TestStringMixIn) test other magically implemented features, like len() and iter() ... ok test_other_methods (tests.test_string_mixin.TestStringMixIn) test the remaining non-magic methods of StringMixIn ... ok test_types (tests.test_string_mixin.TestStringMixIn) make sure StringMixIns convert to different types correctly ... ok test_children (tests.test_comment.TestComment) test Comment.__children__() ... ok test_contents (tests.test_comment.TestComment) test getter/setter for the contents attribute ... ok test_showtree (tests.test_comment.TestComment) test Comment.__showtree__() ... ok test_str (tests.test_comment.TestComment) test Comment.__str__() ... ok test_strip (tests.test_comment.TestComment) test Comment.__strip__() ... ok test_add (tests.test_template.TestTemplate) test Template.add() ... ok test_children (tests.test_template.TestTemplate) test Template.__children__() ... ok test_formatting (tests.test_template.TestTemplate) test realistic param manipulation with complex whitespace formatting ... ok test_get (tests.test_template.TestTemplate) test Template.get() ... ok test_has (tests.test_template.TestTemplate) test Template.has() ... ok test_name (tests.test_template.TestTemplate) test getter/setter for the name attribute ... ok test_params (tests.test_template.TestTemplate) test getter for the params attribute ... ok test_remove (tests.test_template.TestTemplate) test Template.remove() ... ok test_showtree (tests.test_template.TestTemplate) test Template.__showtree__() ... ok test_str (tests.test_template.TestTemplate) test Template.__str__() ... ok test_strip (tests.test_template.TestTemplate) test Template.__strip__() ... ok test_readme_1 (tests.test_docs.TestDocs) test a block of example code in the README ... ok test_readme_2 (tests.test_docs.TestDocs) test a block of example code in the README ... ok test_readme_3 (tests.test_docs.TestDocs) test a block of example code in the README ... ok test_readme_4 (tests.test_docs.TestDocs) test a block of example code in the README ... ok test_readme_5 (tests.test_docs.TestDocs) test a block of example code in the README; includes a web call ... skipped 'cannot continue because of unsuccessful web call' test_children (tests.test_wikilink.TestWikilink) test Wikilink.__children__() ... ok test_showtree (tests.test_wikilink.TestWikilink) test Wikilink.__showtree__() ... ok test_str (tests.test_wikilink.TestWikilink) test Wikilink.__str__() ... ok test_strip (tests.test_wikilink.TestWikilink) test Wikilink.__strip__() ... ok test_text (tests.test_wikilink.TestWikilink) test getter/setter for the text attribute ... ok test_title (tests.test_wikilink.TestWikilink) test getter/setter for the title attribute ... ok test_append (tests.test_wikicode.TestWikicode) test Wikicode.append() ... ok test_contains (tests.test_wikicode.TestWikicode) test Wikicode.contains() ... ok test_filter_family (tests.test_wikicode.TestWikicode) test the Wikicode.i?filter() family of functions ... ok test_get (tests.test_wikicode.TestWikicode) test Wikicode.get() ... ok test_get_ancestors_parent (tests.test_wikicode.TestWikicode) test Wikicode.get_ancestors() and Wikicode.get_parent() ... ok test_get_sections (tests.test_wikicode.TestWikicode) test Wikicode.get_sections() ... ok test_get_tree (tests.test_wikicode.TestWikicode) test Wikicode.get_tree() ... ok test_index (tests.test_wikicode.TestWikicode) test Wikicode.index() ... ok test_insert (tests.test_wikicode.TestWikicode) test Wikicode.insert() ... ok test_insert_after (tests.test_wikicode.TestWikicode) test Wikicode.insert_after() ... ok test_insert_before (tests.test_wikicode.TestWikicode) test Wikicode.insert_before() ... ok test_matches (tests.test_wikicode.TestWikicode) test Wikicode.matches() ... ok test_nodes (tests.test_wikicode.TestWikicode) test getter/setter for the nodes attribute ... ok test_remove (tests.test_wikicode.TestWikicode) test Wikicode.remove() ... ok test_replace (tests.test_wikicode.TestWikicode) test Wikicode.replace() ... ok test_set (tests.test_wikicode.TestWikicode) test Wikicode.set() ... ok test_str (tests.test_wikicode.TestWikicode) test Wikicode.__str__() ... ok test_strip_code (tests.test_wikicode.TestWikicode) test Wikicode.strip_code() ... ok test_brackets (tests.test_external_link.TestExternalLink) test getter/setter for the brackets attribute ... ok test_children (tests.test_external_link.TestExternalLink) test ExternalLink.__children__() ... ok test_showtree (tests.test_external_link.TestExternalLink) test ExternalLink.__showtree__() ... ok test_str (tests.test_external_link.TestExternalLink) test ExternalLink.__str__() ... ok test_strip (tests.test_external_link.TestExternalLink) test ExternalLink.__strip__() ... ok test_title (tests.test_external_link.TestExternalLink) test getter/setter for the title attribute ... ok test_url (tests.test_external_link.TestExternalLink) test getter/setter for the url attribute ... ok test_arguments01_blank (tests.test_pytokenizer.TestPyTokenizer) argument with no content ... ok test_arguments02_blank_with_default (tests.test_pytokenizer.TestPyTokenizer) argument with no content but a pipe ... ok test_arguments03_basic (tests.test_pytokenizer.TestPyTokenizer) simplest type of argument ... ok test_arguments04_default (tests.test_pytokenizer.TestPyTokenizer) argument with a default value ... ok test_arguments05_blank_with_multiple_defaults (tests.test_pytokenizer.TestPyTokenizer) no content, multiple pipes ... ok test_arguments06_multiple_defaults (tests.test_pytokenizer.TestPyTokenizer) multiple values separated by pipes ... ok test_arguments07_newline (tests.test_pytokenizer.TestPyTokenizer) newline as only content ... ok test_arguments08_right_braces (tests.test_pytokenizer.TestPyTokenizer) multiple } scattered throughout text ... ok test_arguments09_right_braces_default (tests.test_pytokenizer.TestPyTokenizer) multiple } scattered throughout text, with a default value ... ok test_arguments10_nested (tests.test_pytokenizer.TestPyTokenizer) an argument nested within another argument ... ok test_arguments11_invalid_braces (tests.test_pytokenizer.TestPyTokenizer) invalid argument: multiple braces that are not part of a template or argument ... ok test_arguments12_incomplete_open_only (tests.test_pytokenizer.TestPyTokenizer) incomplete arguments: just an open ... ok test_arguments13_incomplete_open_text (tests.test_pytokenizer.TestPyTokenizer) incomplete arguments: an open with some text ... ok test_arguments14_incomplete_open_text_pipe (tests.test_pytokenizer.TestPyTokenizer) incomplete arguments: an open, text, then a pipe ... ok test_arguments15_incomplete_open_pipe (tests.test_pytokenizer.TestPyTokenizer) incomplete arguments: an open, then a pipe ... ok test_arguments16_incomplete_open_pipe_text (tests.test_pytokenizer.TestPyTokenizer) incomplete arguments: an open, then a pipe, then text ... ok test_arguments17_incomplete_open_pipes_text (tests.test_pytokenizer.TestPyTokenizer) incomplete arguments: a pipe, then text then two pipes ... ok test_arguments18_incomplete_open_partial_close (tests.test_pytokenizer.TestPyTokenizer) incomplete arguments: an open, then one right brace ... ok test_arguments19_incomplete_preserve_previous (tests.test_pytokenizer.TestPyTokenizer) incomplete arguments: a valid argument followed by an invalid one ... ok test_comments1_blank (tests.test_pytokenizer.TestPyTokenizer) a blank comment ... ok test_comments2_basic (tests.test_pytokenizer.TestPyTokenizer) a basic comment ... ok test_comments3_tons_of_nonsense (tests.test_pytokenizer.TestPyTokenizer) a comment with tons of ignorable garbage in it ... ok test_comments4_incomplete_blank (tests.test_pytokenizer.TestPyTokenizer) a comment that doesn't close ... ok test_comments5_incomplete_text (tests.test_pytokenizer.TestPyTokenizer) a comment that doesn't close, with text ... ok test_comments6_incomplete_partial_close (tests.test_pytokenizer.TestPyTokenizer) a comment that doesn't close, with a partial close ... ok test_comments7_incomplete_part_only (tests.test_pytokenizer.TestPyTokenizer) a comment that only has a < and ! ... ok test_describe_context (tests.test_pytokenizer.TestPyTokenizer) ... ok test_external_links01_basic (tests.test_pytokenizer.TestPyTokenizer) basic external link ... ok test_external_links02_basic_brackets (tests.test_pytokenizer.TestPyTokenizer) basic external link in brackets ... ok test_external_links03_brackets_space (tests.test_pytokenizer.TestPyTokenizer) basic external link in brackets, with a space after ... ok test_external_links04_brackets_title (tests.test_pytokenizer.TestPyTokenizer) basic external link in brackets, with a title ... ok test_external_links05_brackets_multiword_title (tests.test_pytokenizer.TestPyTokenizer) basic external link in brackets, with a multi-word title ... ok test_external_links06_brackets_adjacent (tests.test_pytokenizer.TestPyTokenizer) three adjacent bracket-enclosed external links ... ok test_external_links07_brackets_newline_before (tests.test_pytokenizer.TestPyTokenizer) bracket-enclosed link with a newline before the title ... ok test_external_links08_brackets_newline_inside (tests.test_pytokenizer.TestPyTokenizer) bracket-enclosed link with a newline in the title ... ok test_external_links09_brackets_newline_after (tests.test_pytokenizer.TestPyTokenizer) bracket-enclosed link with a newline after the title ... ok test_external_links10_brackets_space_before (tests.test_pytokenizer.TestPyTokenizer) bracket-enclosed link with a space before the URL ... ok test_external_links11_brackets_title_like_url (tests.test_pytokenizer.TestPyTokenizer) bracket-enclosed link with a title that looks like a URL ... ok test_external_links12_brackets_recursive (tests.test_pytokenizer.TestPyTokenizer) bracket-enclosed link with a bracket-enclosed link as the title ... ok test_external_links13_brackets_recursive_2 (tests.test_pytokenizer.TestPyTokenizer) bracket-enclosed link with a double bracket-enclosed link as the title ... ok test_external_links14_period_after (tests.test_pytokenizer.TestPyTokenizer) a period after a free link that is excluded ... ok test_external_links15_colons_after (tests.test_pytokenizer.TestPyTokenizer) colons after a free link that are excluded ... ok test_external_links16_close_paren_after_excluded (tests.test_pytokenizer.TestPyTokenizer) a closing parenthesis after a free link that is excluded ... ok test_external_links17_close_paren_after_included (tests.test_pytokenizer.TestPyTokenizer) a closing parenthesis after a free link that is included because of an opening parenthesis in the URL ... ok test_external_links18_open_bracket_inside (tests.test_pytokenizer.TestPyTokenizer) an open bracket inside a free link that causes it to be ended abruptly ... ok test_external_links19_brackets_period_after (tests.test_pytokenizer.TestPyTokenizer) a period after a bracket-enclosed link that is included ... ok test_external_links20_brackets_punct_after (tests.test_pytokenizer.TestPyTokenizer) punctuation after a bracket-enclosed link that are included ... ok test_external_links21_brackets_close_paren_after_included (tests.test_pytokenizer.TestPyTokenizer) a closing parenthesis after a bracket-enclosed link that is included ... ok test_external_links22_brackets_close_paren_after_included_2 (tests.test_pytokenizer.TestPyTokenizer) a closing parenthesis after a bracket-enclosed link that is also included ... ok test_external_links23_brackets_open_bracket_inside (tests.test_pytokenizer.TestPyTokenizer) an open bracket inside a bracket-enclosed link that is also included ... ok test_external_links24_adjacent_space (tests.test_pytokenizer.TestPyTokenizer) two free links separated by a space ... ok test_external_links25_adjacent_newline (tests.test_pytokenizer.TestPyTokenizer) two free links separated by a newline ... ok test_external_links26_adjacent_close_bracket (tests.test_pytokenizer.TestPyTokenizer) two free links separated by a close bracket ... ok test_external_links27_html_entity_in_url (tests.test_pytokenizer.TestPyTokenizer) a HTML entity parsed correctly inside a free link ... ok test_external_links28_template_in_url (tests.test_pytokenizer.TestPyTokenizer) a template parsed correctly inside a free link ... ok test_external_links29_argument_in_url (tests.test_pytokenizer.TestPyTokenizer) an argument parsed correctly inside a free link ... ok test_external_links30_wikilink_in_url (tests.test_pytokenizer.TestPyTokenizer) a wikilink that destroys a free link ... ok test_external_links31_external_link_in_url (tests.test_pytokenizer.TestPyTokenizer) a bracketed link that destroys a free link ... ok test_external_links32_spaces_padding (tests.test_pytokenizer.TestPyTokenizer) spaces padding a free link ... ok test_external_links33_text_and_spaces_padding (tests.test_pytokenizer.TestPyTokenizer) text and spaces padding a free link ... ok test_external_links34_template_before (tests.test_pytokenizer.TestPyTokenizer) a template before a free link ... ok test_external_links35_spaces_padding_no_slashes (tests.test_pytokenizer.TestPyTokenizer) spaces padding a free link with no slashes after the colon ... ok test_external_links36_text_and_spaces_padding_no_slashes (tests.test_pytokenizer.TestPyTokenizer) text and spaces padding a free link with no slashes after the colon ... ok test_external_links37_template_before_no_slashes (tests.test_pytokenizer.TestPyTokenizer) a template before a free link with no slashes after the colon ... ok test_external_links38_no_slashes (tests.test_pytokenizer.TestPyTokenizer) a free link with no slashes after the colon ... ok test_external_links39_slashes_optional (tests.test_pytokenizer.TestPyTokenizer) a free link using a scheme that doesn't need slashes, but has them anyway ... ok test_external_links40_short (tests.test_pytokenizer.TestPyTokenizer) a very short free link ... ok test_external_links41_slashes_missing (tests.test_pytokenizer.TestPyTokenizer) slashes missing from a free link with a scheme that requires them ... ok test_external_links42_no_scheme_but_slashes (tests.test_pytokenizer.TestPyTokenizer) no scheme in a free link, but slashes (protocol-relative free links are not supported) ... ok test_external_links43_no_scheme_but_colon (tests.test_pytokenizer.TestPyTokenizer) no scheme in a free link, but a colon ... ok test_external_links44_no_scheme_but_colon_and_slashes (tests.test_pytokenizer.TestPyTokenizer) no scheme in a free link, but a colon and slashes ... ok test_external_links45_fake_scheme_no_slashes (tests.test_pytokenizer.TestPyTokenizer) a nonexistent scheme in a free link, without slashes ... ok test_external_links46_fake_scheme_slashes (tests.test_pytokenizer.TestPyTokenizer) a nonexistent scheme in a free link, with slashes ... ok test_external_links47_fake_scheme_brackets_no_slashes (tests.test_pytokenizer.TestPyTokenizer) a nonexistent scheme in a bracketed link, without slashes ... ok test_external_links48_fake_scheme_brackets_slashes (tests.test_pytokenizer.TestPyTokenizer) #=a nonexistent scheme in a bracketed link, with slashes ... ok test_external_links49_interrupted_scheme (tests.test_pytokenizer.TestPyTokenizer) an otherwise valid scheme with something in the middle of it, in a free link ... ok test_external_links50_interrupted_scheme_brackets (tests.test_pytokenizer.TestPyTokenizer) an otherwise valid scheme with something in the middle of it, in a bracketed link ... ok test_external_links51_no_slashes_brackets (tests.test_pytokenizer.TestPyTokenizer) no slashes after the colon in a bracketed link ... ok test_external_links52_space_before_no_slashes_brackets (tests.test_pytokenizer.TestPyTokenizer) a space before a bracketed link with no slashes after the colon ... ok test_external_links53_slashes_optional_brackets (tests.test_pytokenizer.TestPyTokenizer) a bracketed link using a scheme that doesn't need slashes, but has them anyway ... ok test_external_links54_short_brackets (tests.test_pytokenizer.TestPyTokenizer) a very short link in brackets ... ok test_external_links55_slashes_missing_brackets (tests.test_pytokenizer.TestPyTokenizer) slashes missing from a scheme that requires them in a bracketed link ... ok test_external_links56_protcol_relative (tests.test_pytokenizer.TestPyTokenizer) a protocol-relative link (in brackets) ... ok test_external_links57_scheme_missing_but_colon_brackets (tests.test_pytokenizer.TestPyTokenizer) scheme missing from a bracketed link, but with a colon ... ok test_external_links58_scheme_missing_but_colon_slashes_brackets (tests.test_pytokenizer.TestPyTokenizer) scheme missing from a bracketed link, but with a colon and slashes ... ok test_external_links59_unclosed_protocol_relative (tests.test_pytokenizer.TestPyTokenizer) an unclosed protocol-relative bracketed link ... ok test_external_links60_space_before_protcol_relative (tests.test_pytokenizer.TestPyTokenizer) a space before a protocol-relative bracketed link ... ok test_external_links61_unclosed_just_scheme (tests.test_pytokenizer.TestPyTokenizer) an unclosed bracketed link, ending after the scheme ... ok test_external_links62_unclosed_scheme_colon (tests.test_pytokenizer.TestPyTokenizer) an unclosed bracketed link, ending after the colon ... ok test_external_links63_unclosed_scheme_colon_slashes (tests.test_pytokenizer.TestPyTokenizer) an unclosed bracketed link, ending after the slashes ... ok test_external_links64_incomplete_bracket (tests.test_pytokenizer.TestPyTokenizer) just an open bracket ... ok test_external_links65_incomplete_scheme_colon (tests.test_pytokenizer.TestPyTokenizer) a free link with just a scheme and a colon ... ok test_external_links66_incomplete_scheme_colon_slashes (tests.test_pytokenizer.TestPyTokenizer) a free link with just a scheme, colon, and slashes ... ok test_external_links67_brackets_scheme_but_no_url (tests.test_pytokenizer.TestPyTokenizer) brackets around a scheme and a colon ... ok test_external_links68_brackets_scheme_slashes_but_no_url (tests.test_pytokenizer.TestPyTokenizer) brackets around a scheme, colon, and slashes ... ok test_external_links69_brackets_scheme_title_but_no_url (tests.test_pytokenizer.TestPyTokenizer) brackets around a scheme, colon, and slashes, with a title ... ok test_headings01_level_1 (tests.test_pytokenizer.TestPyTokenizer) a basic level-1 heading ... ok test_headings02_level_2 (tests.test_pytokenizer.TestPyTokenizer) a basic level-2 heading ... ok test_headings03_level_3 (tests.test_pytokenizer.TestPyTokenizer) a basic level-3 heading ... ok test_headings04_level_4 (tests.test_pytokenizer.TestPyTokenizer) a basic level-4 heading ... ok test_headings05_level_5 (tests.test_pytokenizer.TestPyTokenizer) a basic level-5 heading ... ok test_headings06_level_6 (tests.test_pytokenizer.TestPyTokenizer) a basic level-6 heading ... ok test_headings07_level_7 (tests.test_pytokenizer.TestPyTokenizer) a level-6 heading that pretends to be a level-7 heading ... ok test_headings08_level_3_2 (tests.test_pytokenizer.TestPyTokenizer) a level-2 heading that pretends to be a level-3 heading ... ok test_headings09_level_4_6 (tests.test_pytokenizer.TestPyTokenizer) a level-4 heading that pretends to be a level-6 heading ... ok test_headings10_newline_before (tests.test_pytokenizer.TestPyTokenizer) a heading that starts after a newline ... ok test_headings11_text_after (tests.test_pytokenizer.TestPyTokenizer) text on the same line after ... ok test_headings12_invalid_text_before (tests.test_pytokenizer.TestPyTokenizer) invalid headings: text on the same line before ... ok test_headings13_invalid_newline_middle (tests.test_pytokenizer.TestPyTokenizer) invalid headings: newline in the middle ... ok test_headings14_invalid_newline_end (tests.test_pytokenizer.TestPyTokenizer) invalid headings: newline in the middle ... ok test_headings15_invalid_nesting (tests.test_pytokenizer.TestPyTokenizer) invalid headings: attempts at nesting ... ok test_headings16_incomplete (tests.test_pytokenizer.TestPyTokenizer) a heading that starts but doesn't finish ... ok test_html_entities01_named (tests.test_pytokenizer.TestPyTokenizer) a basic named HTML entity ... ok test_html_entities02_numeric_decimal (tests.test_pytokenizer.TestPyTokenizer) a basic decimal HTML entity ... ok test_html_entities03_numeric_hexadecimal_x (tests.test_pytokenizer.TestPyTokenizer) a basic hexadecimal HTML entity, using 'x' as a signal ... ok test_html_entities04_numeric_hexadecimal_X (tests.test_pytokenizer.TestPyTokenizer) a basic hexadecimal HTML entity, using 'X' as a signal ... ok test_html_entities05_numeric_decimal_max (tests.test_pytokenizer.TestPyTokenizer) the maximum acceptable decimal numeric entity ... ok test_html_entities06_numeric_hex_max (tests.test_pytokenizer.TestPyTokenizer) the maximum acceptable hexadecimal numeric entity ... ok test_html_entities07_numeric_zeros (tests.test_pytokenizer.TestPyTokenizer) zeros accepted at the beginning of a numeric entity ... ok test_html_entities08_numeric_hex_zeros (tests.test_pytokenizer.TestPyTokenizer) zeros accepted at the beginning of a hex numeric entity ... ok test_html_entities09_invalid_named_too_long (tests.test_pytokenizer.TestPyTokenizer) a named entity that is too long ... ok test_html_entities10_invalid_named_undefined (tests.test_pytokenizer.TestPyTokenizer) a named entity that doesn't exist ... ok test_html_entities11_invalid_named_nonascii (tests.test_pytokenizer.TestPyTokenizer) a named entity with non-ASCII characters ... ok test_html_entities12_invalid_numeric_out_of_range_1 (tests.test_pytokenizer.TestPyTokenizer) a numeric entity that is out of range: < 1 ... ok test_html_entities13_invalid_numeric_out_of_range_2 (tests.test_pytokenizer.TestPyTokenizer) a hex numeric entity that is out of range: < 1 ... ok test_html_entities14_invalid_numeric_out_of_range_3 (tests.test_pytokenizer.TestPyTokenizer) a numeric entity that is out of range: > 0x10FFFF ... ok test_html_entities15_invalid_numeric_out_of_range_4 (tests.test_pytokenizer.TestPyTokenizer) a hex numeric entity that is out of range: > 0x10FFFF ... ok test_html_entities16_invalid_partial_amp (tests.test_pytokenizer.TestPyTokenizer) invalid entities: just an ampersand ... ok test_html_entities17_invalid_partial_amp_semicolon (tests.test_pytokenizer.TestPyTokenizer) invalid entities: an ampersand and semicolon ... ok test_html_entities18_invalid_partial_amp_pound (tests.test_pytokenizer.TestPyTokenizer) invalid entities: just an ampersand, pound sign ... ok test_html_entities19_invalid_partial_amp_pound_x (tests.test_pytokenizer.TestPyTokenizer) invalid entities: just an ampersand, pound sign, x ... ok test_html_entities20_invalid_partial_amp_pound_semicolon (tests.test_pytokenizer.TestPyTokenizer) invalid entities: an ampersand, pound sign, and semicolon ... ok test_html_entities21_invalid_partial_amp_pound_x_semicolon (tests.test_pytokenizer.TestPyTokenizer) invalid entities: an ampersand, pound sign, x, and semicolon ... ok test_html_entities22_invalid_partial_amp_pound_numbers (tests.test_pytokenizer.TestPyTokenizer) invalid entities: an ampersand, pound sign, numbers ... ok test_html_entities23_invalid_partial_amp_pound_x_semicolon (tests.test_pytokenizer.TestPyTokenizer) invalid entities: an ampersand, pound sign, and x ... ok test_integration01_empty (tests.test_pytokenizer.TestPyTokenizer) sanity check that parsing an empty string yields nothing ... ok test_integration02_template_argument_mix (tests.test_pytokenizer.TestPyTokenizer) an ambiguous mix of templates and arguments ... ok test_integration03_link_in_template_name (tests.test_pytokenizer.TestPyTokenizer) a wikilink inside a template name, which breaks the template ... ok test_integration04_rich_heading (tests.test_pytokenizer.TestPyTokenizer) a heading with templates/wikilinks in it ... ok test_integration05_html_entity_with_template (tests.test_pytokenizer.TestPyTokenizer) a HTML entity with a template embedded inside ... ok test_integration06_html_entity_with_comment (tests.test_pytokenizer.TestPyTokenizer) a HTML entity with a comment embedded inside ... ok test_integration07_rich_tags (tests.test_pytokenizer.TestPyTokenizer) a HTML tag with tons of other things in it ... ok test_integration08_wildcard (tests.test_pytokenizer.TestPyTokenizer) a wildcard assortment of various things ... ok test_integration09_wildcard_redux (tests.test_pytokenizer.TestPyTokenizer) an even wilder assortment of various things ... ok test_integration10_link_inside_dl (tests.test_pytokenizer.TestPyTokenizer) an external link inside a def list, such that the external link is parsed ... ok test_integration11_link_inside_dl_2 (tests.test_pytokenizer.TestPyTokenizer) an external link inside a def list, such that the external link is not parsed ... ok test_integration12_link_inside_template (tests.test_pytokenizer.TestPyTokenizer) an external link nested inside a template, before the end ... ok test_integration13_link_inside_template_2 (tests.test_pytokenizer.TestPyTokenizer) an external link nested inside a template, before a separator ... ok test_integration14_link_inside_template_3 (tests.test_pytokenizer.TestPyTokenizer) an external link nested inside a template, before an equal sign ... ok test_integration15_link_inside_argument (tests.test_pytokenizer.TestPyTokenizer) an external link nested inside an argument ... ok test_integration16_link_inside_heading (tests.test_pytokenizer.TestPyTokenizer) an external link nested inside a heading ... ok test_integration17_link_inside_tag_body (tests.test_pytokenizer.TestPyTokenizer) an external link nested inside the body of a tag ... ok test_integration18_link_inside_tag_style (tests.test_pytokenizer.TestPyTokenizer) an external link nested inside style tags ... ok test_integration19_style_tag_inside_link (tests.test_pytokenizer.TestPyTokenizer) style tags disrupting an external link ... ok test_integration20_comment_inside_link (tests.test_pytokenizer.TestPyTokenizer) an HTML comment inside an external link ... ok test_integration21_bracketed_link_inside_template (tests.test_pytokenizer.TestPyTokenizer) a bracketed external link nested inside a template, before the end ... ok test_integration22_comment_inside_bracketed_link (tests.test_pytokenizer.TestPyTokenizer) an HTML comment inside a bracketed external link ... ok test_integration23_wikilink_inside_external_link (tests.test_pytokenizer.TestPyTokenizer) a wikilink inside an external link, which the parser considers valid (see issue #61) ... ok test_integration24_external_link_inside_wikilink (tests.test_pytokenizer.TestPyTokenizer) an external link inside a wikilink, valid in the case of images (see issue #62) ... ok test_integration25_external_link_inside_wikilink_brackets (tests.test_pytokenizer.TestPyTokenizer) an external link with brackets inside a wikilink ... ok test_integration26_external_link_inside_wikilink_title (tests.test_pytokenizer.TestPyTokenizer) an external link inside a wikilink title, which is not parsed ... ok test_integration27_italics_inside_external_link_inside_incomplete_list (tests.test_pytokenizer.TestPyTokenizer) italic text inside an external link inside an incomplete list ... ok test_integration28_nodes_inside_external_link_after_punct (tests.test_pytokenizer.TestPyTokenizer) various complex nodes inside an external link following punctuation ... ok test_integration29_newline_and_comment_in_template_name (tests.test_pytokenizer.TestPyTokenizer) a template name containing a newline followed by a comment ... ok test_integration30_newline_and_comment_in_template_name_2 (tests.test_pytokenizer.TestPyTokenizer) a template name containing a newline followed by a comment ... ok test_integration31_newline_and_comment_in_template_name_3 (tests.test_pytokenizer.TestPyTokenizer) a template name containing a newline followed by a comment ... ok test_integration32_newline_and_comment_in_template_name_4 (tests.test_pytokenizer.TestPyTokenizer) a template name containing a newline followed by a comment ... ok test_integration33_newline_and_comment_in_template_name_5 (tests.test_pytokenizer.TestPyTokenizer) a template name containing a newline followed by a comment ... ok test_integration34_newline_and_comment_in_template_name_6 (tests.test_pytokenizer.TestPyTokenizer) a template name containing a newline followed by a comment ... ok test_integration35_newline_and_comment_in_template_name_7 (tests.test_pytokenizer.TestPyTokenizer) a template name containing a newline followed by a comment ... ok test_integration36_newline_and_comment_in_template_name_8 (tests.test_pytokenizer.TestPyTokenizer) a template name containing a newline followed by a comment ... ok test_integration37_tag_in_link_title (tests.test_pytokenizer.TestPyTokenizer) HTML tags are invalid in link titles, even when complete ... ok test_integration38_tag_in_template_name (tests.test_pytokenizer.TestPyTokenizer) HTML tags are invalid in template names, even when complete ... ok test_integration39_tag_in_link_text (tests.test_pytokenizer.TestPyTokenizer) HTML tags are valid in link text ... ok test_integration40_comment_in_link_title (tests.test_pytokenizer.TestPyTokenizer) comments are valid in link titles ... ok test_integration41_incomplete_comment_in_link_title (tests.test_pytokenizer.TestPyTokenizer) incomplete comments are invalid in link titles ... ok test_integration42_incomplete_comment_in_link_title_2 (tests.test_pytokenizer.TestPyTokenizer) incomplete comments are invalid in link titles ... ok test_integration43_incomplete_comment_in_link_title_3 (tests.test_pytokenizer.TestPyTokenizer) incomplete comments are invalid in link titles ... ok test_integration44_incomplete_comment_in_link_title_4 (tests.test_pytokenizer.TestPyTokenizer) incomplete comments are invalid in link titles ... ok test_integration45_incomplete_comment_in_link_title_5 (tests.test_pytokenizer.TestPyTokenizer) incomplete comments are invalid in link titles ... ok test_integration46_incomplete_comment_in_link_title_6 (tests.test_pytokenizer.TestPyTokenizer) incomplete comments are invalid in link titles ... ok test_integration47_wikilink_to_external_link_fallback (tests.test_pytokenizer.TestPyTokenizer) an external link enclosed in an extra pair of brackets (see issue #120) ... ok test_integration48_wikilink_to_external_link_fallback_2 (tests.test_pytokenizer.TestPyTokenizer) an external link enclosed in an extra pair of brackets (see issue #120) ... ok test_integration49_tables_in_templates (tests.test_pytokenizer.TestPyTokenizer) catch error handling mistakes when wikitables are inside templates ... ok test_integration50_tables_in_templates_2 (tests.test_pytokenizer.TestPyTokenizer) catch error handling mistakes when wikitables are inside templates ... ok test_integration51_many_invalid_nested_tags (tests.test_pytokenizer.TestPyTokenizer) many unending nested tags that should be treated as plain text, followed by valid wikitext (see issues #42, #183) ... ok test_integration52_nested_templates_and_style_tags (tests.test_pytokenizer.TestPyTokenizer) many nested templates and style tags, testing edge case behavior and error recovery near the recursion depth limit (see issue #224) ... ok test_tables01_empty_table (tests.test_pytokenizer.TestPyTokenizer) parsing an empty table ... ok test_tables02_inline_table (tests.test_pytokenizer.TestPyTokenizer) tables with a close on the same line are not valid ... ok test_tables03_no_table_close_simple (tests.test_pytokenizer.TestPyTokenizer) no table close on inline table ... ok test_tables04_no_table_close_newline (tests.test_pytokenizer.TestPyTokenizer) no table close with a newline ... ok test_tables05_no_table_close_inside_cell (tests.test_pytokenizer.TestPyTokenizer) no table close while inside of a cell ... ok test_tables06_no_table_close_inside_cell_after_newline (tests.test_pytokenizer.TestPyTokenizer) no table close while inside of a cell after a newline ... ok test_tables07_no_table_close_inside_cell_with_attributes (tests.test_pytokenizer.TestPyTokenizer) no table close while inside of a cell with attributes ... ok test_tables08_no_table_close_inside_row (tests.test_pytokenizer.TestPyTokenizer) no table close while inside of a row ... ok test_tables09_no_table_close_inside_row_after_newline (tests.test_pytokenizer.TestPyTokenizer) no table close while inside of a row after a newline ... ok test_tables10_no_table_close_row_and_cell (tests.test_pytokenizer.TestPyTokenizer) no table close while inside a cell inside a row ... ok test_tables11_no_table_close_attributes (tests.test_pytokenizer.TestPyTokenizer) don't parse attributes as attributes if the table doesn't exist ... ok test_tables12_no_table_close_unclosed_attributes (tests.test_pytokenizer.TestPyTokenizer) don't parse unclosed attributes if the table doesn't exist ... ok test_tables13_no_table_close_row_attributes (tests.test_pytokenizer.TestPyTokenizer) don't parse row attributes as attributes if the table doesn't exist ... ok test_tables14_no_table_close_cell (tests.test_pytokenizer.TestPyTokenizer) don't parse cells if the table doesn't close ... ok test_tables15_crazy_no_table_close (tests.test_pytokenizer.TestPyTokenizer) lots of opened wiki syntax without closes ... ok test_tables16_leading_whitespace_table (tests.test_pytokenizer.TestPyTokenizer) handle leading whitespace for a table ... ok test_tables17_whitespace_after_table (tests.test_pytokenizer.TestPyTokenizer) handle whitespace after a table close ... ok test_tables18_different_whitespace_after_table (tests.test_pytokenizer.TestPyTokenizer) handle spaces after a table close ... ok test_tables19_characters_after_table (tests.test_pytokenizer.TestPyTokenizer) handle characters after a table close ... ok test_tables20_characters_after_inline_table (tests.test_pytokenizer.TestPyTokenizer) handle characters after an inline table close ... ok test_tables21_leading_characters_table (tests.test_pytokenizer.TestPyTokenizer) don't parse as a table when leading characters are not newline or whitespace ... ok test_tables22_table_row_simple (tests.test_pytokenizer.TestPyTokenizer) simple table row ... ok test_tables23_table_row_multiple (tests.test_pytokenizer.TestPyTokenizer) simple table row ... ok test_tables24_table_cell_simple (tests.test_pytokenizer.TestPyTokenizer) simple table cell ... ok test_tables25_table_cell_inline (tests.test_pytokenizer.TestPyTokenizer) multiple inline table cells ... ok test_tables26_table_cell_multiple (tests.test_pytokenizer.TestPyTokenizer) multiple table cells (non-inline) ... ok test_tables27_table_header_simple (tests.test_pytokenizer.TestPyTokenizer) simple header cell ... ok test_tables28_table_header_inline (tests.test_pytokenizer.TestPyTokenizer) multiple inline header cells ... ok test_tables29_table_header_multiple (tests.test_pytokenizer.TestPyTokenizer) multiple table header cells (non-inline) ... ok test_tables30_nested_cells_and_rows (tests.test_pytokenizer.TestPyTokenizer) combination of cells and rows in a table ... ok test_tables31_table_cell_fake_close (tests.test_pytokenizer.TestPyTokenizer) looks like a table close but is not ... ok test_tables32_table_cell_more_fake_close (tests.test_pytokenizer.TestPyTokenizer) looks like a table close but is not ... ok test_tables33_table_cell_extra_close (tests.test_pytokenizer.TestPyTokenizer) process second close as text ... ok test_tables34_nowiki_inside_table (tests.test_pytokenizer.TestPyTokenizer) nowiki handles pipe characters in tables ... ok test_tables35_table_text_outside_cell (tests.test_pytokenizer.TestPyTokenizer) parse text inside table but outside of a cell ... ok test_tables36_no_table_cell_with_leading_characters (tests.test_pytokenizer.TestPyTokenizer) fail to create a table cell when there are leading non-whitespace characters ... ok test_tables37_no_table_row_with_leading_characters (tests.test_pytokenizer.TestPyTokenizer) fail to create a table row when there are leading non-whitespace characters ... ok test_tables38_template_inside_table_cell (tests.test_pytokenizer.TestPyTokenizer) template within table cell ... ok test_tables39_table_cell_attributes (tests.test_pytokenizer.TestPyTokenizer) parse table cell style attributes ... ok test_tables40_table_cell_empty_attributes (tests.test_pytokenizer.TestPyTokenizer) parse table cell with style markers but no attributes ... ok test_tables41_table_cell_with_dash (tests.test_pytokenizer.TestPyTokenizer) parse a situation in which a cell line looks like a row line ... ok test_tables42_table_cell_attributes_quote_with_pipe (tests.test_pytokenizer.TestPyTokenizer) pipe inside an attribute quote should still be used as a style separator ... ok test_tables43_table_cell_attributes_name_with_pipe (tests.test_pytokenizer.TestPyTokenizer) pipe inside an attribute name should still be used as a style separator ... ok test_tables44_table_cell_attributes_pipe_after_equals (tests.test_pytokenizer.TestPyTokenizer) pipe inside an attribute should still be used as a style separator after an equals ... ok test_tables45_table_cell_attributes_templates (tests.test_pytokenizer.TestPyTokenizer) pipe inside attributes shouldn't be style separator ... ok test_tables46_header_cell_attributes (tests.test_pytokenizer.TestPyTokenizer) parse header cell style attributes ... ok test_tables47_inline_cell_attributes (tests.test_pytokenizer.TestPyTokenizer) parse cell style attributes of inline cells ... ok test_tables48_table_row_attributes (tests.test_pytokenizer.TestPyTokenizer) parse table row style attributes ... ok test_tables49_table_row_attributes_crazy_whitespace (tests.test_pytokenizer.TestPyTokenizer) parse table row style attributes with different whitespace ... ok test_tables50_table_attributes (tests.test_pytokenizer.TestPyTokenizer) parse table style attributes ... ok test_tables51_inline_table_attributes (tests.test_pytokenizer.TestPyTokenizer) handle attributes in inline tables ... ok test_tables52_table_incorrect_attributes (tests.test_pytokenizer.TestPyTokenizer) parse incorrect table style attributes ... ok test_tables53_templates_in_table_attribute (tests.test_pytokenizer.TestPyTokenizer) templates in the attributes of a table, after the start ... ok test_tables54_templates_in_table_attribute_2 (tests.test_pytokenizer.TestPyTokenizer) templates in the attributes of a table, after the start ... ok test_tables55_inappropriate_marker_at_line_start (tests.test_pytokenizer.TestPyTokenizer) an inappropriate marker (a right bracket) at the start of a line in the table ... ok test_tables56_fake_close_near_start (tests.test_pytokenizer.TestPyTokenizer) a fake closing token at the end of the first line in the table ... ok test_tables57_fake_close_near_start_2 (tests.test_pytokenizer.TestPyTokenizer) a fake closing token at the end of the first line in the table ... ok test_tables58_junk_after_table_start (tests.test_pytokenizer.TestPyTokenizer) ignore more junk on the first line of the table ... ok test_tables59_junk_after_table_row (tests.test_pytokenizer.TestPyTokenizer) ignore junk on the first line of a table row ... ok test_tables60_incomplete_nested_open_only (tests.test_pytokenizer.TestPyTokenizer) many nested incomplete tables: table open only ... ok test_tables61_incomplete_nested_open_and_row (tests.test_pytokenizer.TestPyTokenizer) many nested incomplete tables: table open and row separator (see issue #206) ... ok test_tags01_basic (tests.test_pytokenizer.TestPyTokenizer) a basic tag with an open and close ... ok test_tags02_basic_selfclosing (tests.test_pytokenizer.TestPyTokenizer) a basic self-closing tag ... ok test_tags03_content (tests.test_pytokenizer.TestPyTokenizer) a tag with some content in the middle ... ok test_tags04_padded_open (tests.test_pytokenizer.TestPyTokenizer) a tag with some padding in the open tag ... ok test_tags05_padded_close (tests.test_pytokenizer.TestPyTokenizer) a tag with some padding in the close tag ... ok test_tags06_padded_selfclosing (tests.test_pytokenizer.TestPyTokenizer) a self-closing tag with padding ... ok test_tags07_attribute (tests.test_pytokenizer.TestPyTokenizer) a tag with a single attribute ... ok test_tags08_attribute_value (tests.test_pytokenizer.TestPyTokenizer) a tag with a single attribute with a value ... ok test_tags09_attribute_quoted (tests.test_pytokenizer.TestPyTokenizer) a tag with a single quoted attribute ... ok test_tags10_attribute_single_quoted (tests.test_pytokenizer.TestPyTokenizer) a tag with a single singly-quoted attribute ... ok test_tags11_attribute_hyphen (tests.test_pytokenizer.TestPyTokenizer) a tag with a single attribute, containing a hyphen ... ok test_tags12_attribute_quoted_hyphen (tests.test_pytokenizer.TestPyTokenizer) a tag with a single quoted attribute, containing a hyphen ... ok test_tags13_attribute_selfclosing (tests.test_pytokenizer.TestPyTokenizer) a self-closing tag with a single attribute ... ok test_tags14_attribute_selfclosing_value (tests.test_pytokenizer.TestPyTokenizer) a self-closing tag with a single attribute with a value ... ok test_tags15_attribute_selfclosing_value_quoted (tests.test_pytokenizer.TestPyTokenizer) a self-closing tag with a single quoted attribute ... ok test_tags16_nested_tag (tests.test_pytokenizer.TestPyTokenizer) a tag nested within the attributes of another ... ok test_tags17_nested_tag_quoted (tests.test_pytokenizer.TestPyTokenizer) a tag nested within the attributes of another, quoted ... ok test_tags18_nested_troll_tag (tests.test_pytokenizer.TestPyTokenizer) a bogus tag that appears to be nested within the attributes of another ... ok test_tags19_nested_troll_tag_quoted (tests.test_pytokenizer.TestPyTokenizer) a bogus tag that appears to be nested within the attributes of another, quoted ... ok test_tags20_nested_tag_selfclosing (tests.test_pytokenizer.TestPyTokenizer) a tag nested within the attributes of another; outer tag implicitly self-closing ... ok test_tags21_invalid_space_begin_open (tests.test_pytokenizer.TestPyTokenizer) invalid tag: a space at the beginning of the open tag ... ok test_tags22_invalid_space_begin_close (tests.test_pytokenizer.TestPyTokenizer) invalid tag: a space at the beginning of the close tag ... ok test_tags23_valid_space_end (tests.test_pytokenizer.TestPyTokenizer) valid tag: spaces at the ends of both the open and close tags ... ok test_tags24_invalid_template_ends (tests.test_pytokenizer.TestPyTokenizer) invalid tag: a template at the ends of both the open and close tags ... ok test_tags25_invalid_template_ends_nospace (tests.test_pytokenizer.TestPyTokenizer) invalid tag: a template at the ends of both the open and close tags, without spacing ... ok test_tags26_valid_template_end_open (tests.test_pytokenizer.TestPyTokenizer) valid tag: a template at the end of the open tag ... ok test_tags27_valid_template_end_open_space_end_close (tests.test_pytokenizer.TestPyTokenizer) valid tag: a template at the end of the open tag; whitespace at the end of the close tag ... ok test_tags28_invalid_template_end_open_nospace (tests.test_pytokenizer.TestPyTokenizer) invalid tag: a template at the end of the open tag, without spacing ... ok test_tags29_invalid_template_start_close (tests.test_pytokenizer.TestPyTokenizer) invalid tag: a template at the beginning of the close tag ... ok test_tags30_invalid_template_start_open (tests.test_pytokenizer.TestPyTokenizer) invalid tag: a template at the beginning of the open tag ... ok test_tags31_unclosed_quote (tests.test_pytokenizer.TestPyTokenizer) a quoted attribute that is never closed ... ok test_tags32_fake_quote (tests.test_pytokenizer.TestPyTokenizer) a fake quoted attribute ... ok test_tags33_fake_quote_complex (tests.test_pytokenizer.TestPyTokenizer) a fake quoted attribute, with spaces and templates and links ... ok test_tags34_quotes_in_quotes (tests.test_pytokenizer.TestPyTokenizer) singly-quoted text inside a doubly-quoted attribute ... ok test_tags35_quotes_in_quotes_2 (tests.test_pytokenizer.TestPyTokenizer) doubly-quoted text inside a singly-quoted attribute ... ok test_tags36_quotes_in_quotes_3 (tests.test_pytokenizer.TestPyTokenizer) doubly-quoted text inside a singly-quoted attribute, with backslashes ... ok test_tags37_incomplete_lbracket (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: just a left bracket ... ok test_tags38_incomplete_lbracket_junk (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: just a left bracket, surrounded by stuff ... ok test_tags39_incomplete_unclosed_open (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed open tag ... ok test_tags40_incomplete_unclosed_open_space (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed open tag, space ... ok test_tags41_incomplete_unclosed_open_unnamed_attr (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed open tag, unnamed attribute ... ok test_tags42_incomplete_unclosed_open_attr_equals (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed open tag, attribute, equal sign ... ok test_tags43_incomplete_unclosed_open_attr_equals_quoted (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed open tag, attribute, equal sign, quote ... ok test_tags44_incomplete_unclosed_open_attr (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed open tag, attribute with a key/value ... ok test_tags45_incomplete_unclosed_open_attr_quoted (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed open tag, attribute with a key/value, quoted ... ok test_tags46_incomplete_open (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag ... ok test_tags47_incomplete_open_unnamed_attr (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, unnamed attribute ... ok test_tags48_incomplete_open_attr_equals (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, attribute, equal sign ... ok test_tags49_incomplete_open_attr (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, attribute with a key/value ... ok test_tags50_incomplete_open_attr_quoted (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, attribute with a key/value, quoted ... ok test_tags51_incomplete_open_text (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, text ... ok test_tags52_incomplete_open_attr_text (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, attribute with a key/value, text ... ok test_tags53_incomplete_open_text_lbracket (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, text, left open bracket ... ok test_tags54_incomplete_open_text_lbracket_slash (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, text, left bracket, slash ... ok test_tags55_incomplete_open_text_unclosed_close (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, text, unclosed close ... ok test_tags56_incomplete_open_text_wrong_close (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an open tag, text, wrong close ... ok test_tags57_incomplete_unclosed_close (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed close tag ... ok test_tags58_incomplete_unclosed_close_text (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: an unclosed close tag, with text ... ok test_tags59_incomplete_close (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: a close tag ... ok test_tags60_incomplete_no_tag_name_open (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: no tag name within brackets; just an open ... ok test_tags61_incomplete_no_tag_name_selfclosing (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: no tag name within brackets; self-closing ... ok test_tags62_incomplete_no_tag_name_open_close (tests.test_pytokenizer.TestPyTokenizer) incomplete tags: no tag name within brackets; open and close ... ok test_tags63_backslash_premature_before (tests.test_pytokenizer.TestPyTokenizer) a backslash before a quote before a space ... ok test_tags64_backslash_premature_after (tests.test_pytokenizer.TestPyTokenizer) a backslash before a quote after a space ... ok test_tags65_backslash_premature_middle (tests.test_pytokenizer.TestPyTokenizer) a backslash before a quote in the middle of a word ... ok test_tags66_backslash_adjacent (tests.test_pytokenizer.TestPyTokenizer) escaped quotes next to unescaped quotes ... ok test_tags67_backslash_endquote (tests.test_pytokenizer.TestPyTokenizer) backslashes before the end quote, causing the attribute to become unquoted ... ok test_tags68_backslash_double (tests.test_pytokenizer.TestPyTokenizer) two adjacent backslashes, which do *not* affect the quote ... ok test_tags69_backslash_triple (tests.test_pytokenizer.TestPyTokenizer) three adjacent backslashes, which do *not* affect the quote ... ok test_tags70_backslash_unaffecting (tests.test_pytokenizer.TestPyTokenizer) backslashes near quotes, but not immediately adjacent, thus having no effect ... ok test_tags71_unparsable (tests.test_pytokenizer.TestPyTokenizer) a tag that should not be put through the normal parser ... ok test_tags72_unparsable_complex (tests.test_pytokenizer.TestPyTokenizer) a tag that should not be put through the normal parser; lots of stuff inside ... ok test_tags73_unparsable_attributed (tests.test_pytokenizer.TestPyTokenizer) a tag that should not be put through the normal parser; parsed attributes ... ok test_tags74_unparsable_incomplete (tests.test_pytokenizer.TestPyTokenizer) a tag that should not be put through the normal parser; incomplete ... ok test_tags75_unparsable_entity (tests.test_pytokenizer.TestPyTokenizer) a HTML entity inside unparsable text is still parsed ... ok test_tags76_unparsable_entity_incomplete (tests.test_pytokenizer.TestPyTokenizer) an incomplete HTML entity inside unparsable text ... ok test_tags77_unparsable_entity_incomplete_2 (tests.test_pytokenizer.TestPyTokenizer) an incomplete HTML entity inside unparsable text ... ok test_tags78_single_open_close (tests.test_pytokenizer.TestPyTokenizer) a tag that supports being single; both an open and a close tag ... ok test_tags79_single_open (tests.test_pytokenizer.TestPyTokenizer) a tag that supports being single; just an open tag ... ok test_tags80_single_selfclose (tests.test_pytokenizer.TestPyTokenizer) a tag that supports being single; a self-closing tag ... ok test_tags81_single_close (tests.test_pytokenizer.TestPyTokenizer) a tag that supports being single; just a close tag ... ok test_tags82_single_only_open_close (tests.test_pytokenizer.TestPyTokenizer) a tag that can only be single; both an open and a close tag ... ok test_tags83_single_only_open (tests.test_pytokenizer.TestPyTokenizer) a tag that can only be single; just an open tag ... ok test_tags84_single_only_selfclose (tests.test_pytokenizer.TestPyTokenizer) a tag that can only be single; a self-closing tag ... ok test_tags85_single_only_close (tests.test_pytokenizer.TestPyTokenizer) a tag that can only be single; just a close tag ... ok test_tags86_single_only_double (tests.test_pytokenizer.TestPyTokenizer) a tag that can only be single; a tag with backslashes at the beginning and end ... ok test_tags87_single_only_close_attribute (tests.test_pytokenizer.TestPyTokenizer) a tag that can only be single; presented as a close tag with an attribute ... ok test_tags88_capitalization (tests.test_pytokenizer.TestPyTokenizer) caps should be ignored within tag names ... ok test_tags89_unparsable_incomplete_close (tests.test_pytokenizer.TestPyTokenizer) an unparsable tag with an incomplete close afterwards ... ok test_tags90_unparsable_with_intermediates (tests.test_pytokenizer.TestPyTokenizer) an unparsable tag with intermediate tags inside of it ... ok test_tags91_unparsable_with_intermediates_normalize (tests.test_pytokenizer.TestPyTokenizer) an unparsable tag with intermediate tags inside of it, requiring normalization ... ok test_tags92_non_ascii_open (tests.test_pytokenizer.TestPyTokenizer) a open tag containing non-ASCII characters ... ok test_tags93_non_ascii_full (tests.test_pytokenizer.TestPyTokenizer) an open/close tag pair containing non-ASCII characters ... ok test_tags94_single_nested_selfclosing (tests.test_pytokenizer.TestPyTokenizer) a single (unpaired) tag with a self-closing tag in the middle (see issue #147) ... ok test_tags_wikimarkup01_basic_italics (tests.test_pytokenizer.TestPyTokenizer) basic italic text ... ok test_tags_wikimarkup02_basic_bold (tests.test_pytokenizer.TestPyTokenizer) basic bold text ... ok test_tags_wikimarkup03_basic_ul (tests.test_pytokenizer.TestPyTokenizer) basic unordered list ... ok test_tags_wikimarkup04_basic_ol (tests.test_pytokenizer.TestPyTokenizer) basic ordered list ... ok test_tags_wikimarkup05_basic_dt (tests.test_pytokenizer.TestPyTokenizer) basic description term ... ok test_tags_wikimarkup06_basic_dd (tests.test_pytokenizer.TestPyTokenizer) basic description item ... ok test_tags_wikimarkup07_basic_hr (tests.test_pytokenizer.TestPyTokenizer) basic horizontal rule ... ok test_tags_wikimarkup08_complex_italics (tests.test_pytokenizer.TestPyTokenizer) italics with a lot in them ... ok test_tags_wikimarkup09_multiline_italics (tests.test_pytokenizer.TestPyTokenizer) italics spanning mulitple lines ... ok test_tags_wikimarkup10_unending_italics (tests.test_pytokenizer.TestPyTokenizer) italics without an ending tag ... ok test_tags_wikimarkup11_misleading_italics_end (tests.test_pytokenizer.TestPyTokenizer) italics with something that looks like an end but isn't ... ok test_tags_wikimarkup12_italics_start_outside_end_inside (tests.test_pytokenizer.TestPyTokenizer) italics that start outside a link and end inside it ... ok test_tags_wikimarkup13_italics_start_inside_end_outside (tests.test_pytokenizer.TestPyTokenizer) italics that start inside a link and end outside it ... ok test_tags_wikimarkup14_complex_bold (tests.test_pytokenizer.TestPyTokenizer) bold with a lot in it ... ok test_tags_wikimarkup15_multiline_bold (tests.test_pytokenizer.TestPyTokenizer) bold spanning mulitple lines ... ok test_tags_wikimarkup16_unending_bold (tests.test_pytokenizer.TestPyTokenizer) bold without an ending tag ... ok test_tags_wikimarkup17_misleading_bold_end (tests.test_pytokenizer.TestPyTokenizer) bold with something that looks like an end but isn't ... ok test_tags_wikimarkup18_bold_start_outside_end_inside (tests.test_pytokenizer.TestPyTokenizer) bold that start outside a link and end inside it ... ok test_tags_wikimarkup19_bold_start_inside_end_outside (tests.test_pytokenizer.TestPyTokenizer) bold that start inside a link and end outside it ... ok test_tags_wikimarkup20_bold_and_italics (tests.test_pytokenizer.TestPyTokenizer) bold and italics together ... ok test_tags_wikimarkup21_both_then_bold (tests.test_pytokenizer.TestPyTokenizer) text that starts bold/italic, then is just bold ... ok test_tags_wikimarkup22_both_then_italics (tests.test_pytokenizer.TestPyTokenizer) text that starts bold/italic, then is just italic ... ok test_tags_wikimarkup23_bold_then_both (tests.test_pytokenizer.TestPyTokenizer) text that starts just bold, then is bold/italic ... ok test_tags_wikimarkup24_italics_then_both (tests.test_pytokenizer.TestPyTokenizer) text that starts just italic, then is bold/italic ... ok test_tags_wikimarkup25_italics_then_bold (tests.test_pytokenizer.TestPyTokenizer) text that starts italic, then is bold ... ok test_tags_wikimarkup26_bold_then_italics (tests.test_pytokenizer.TestPyTokenizer) text that starts bold, then is italic ... ok test_tags_wikimarkup27_five_three (tests.test_pytokenizer.TestPyTokenizer) five ticks to open, three to close (bold) ... ok test_tags_wikimarkup28_five_two (tests.test_pytokenizer.TestPyTokenizer) five ticks to open, two to close (bold) ... ok test_tags_wikimarkup29_four (tests.test_pytokenizer.TestPyTokenizer) four ticks ... ok test_tags_wikimarkup30_four_two (tests.test_pytokenizer.TestPyTokenizer) four ticks to open, two to close ... ok test_tags_wikimarkup31_two_three (tests.test_pytokenizer.TestPyTokenizer) two ticks to open, three to close ... ok test_tags_wikimarkup32_two_four (tests.test_pytokenizer.TestPyTokenizer) two ticks to open, four to close ... ok test_tags_wikimarkup33_two_three_two (tests.test_pytokenizer.TestPyTokenizer) two ticks to open, three to close, two afterwards ... ok test_tags_wikimarkup34_two_four_four (tests.test_pytokenizer.TestPyTokenizer) two ticks to open, four to close, four afterwards ... ok test_tags_wikimarkup35_seven (tests.test_pytokenizer.TestPyTokenizer) seven ticks ... ok test_tags_wikimarkup36_unending_bold_and_italics (tests.test_pytokenizer.TestPyTokenizer) five ticks (bold and italics) that don't end ... ok test_tags_wikimarkup37_complex_ul (tests.test_pytokenizer.TestPyTokenizer) ul with a lot in it ... ok test_tags_wikimarkup38_ul_multiline_template (tests.test_pytokenizer.TestPyTokenizer) ul with a template that spans multiple lines ... ok test_tags_wikimarkup39_ul_adjacent (tests.test_pytokenizer.TestPyTokenizer) multiple adjacent uls ... ok test_tags_wikimarkup40_ul_depths (tests.test_pytokenizer.TestPyTokenizer) multiple adjacent uls, with differing depths ... ok test_tags_wikimarkup41_ul_space_before (tests.test_pytokenizer.TestPyTokenizer) uls with space before them ... ok test_tags_wikimarkup42_ul_interruption (tests.test_pytokenizer.TestPyTokenizer) high-depth ul with something blocking it ... ok test_tags_wikimarkup43_complex_ol (tests.test_pytokenizer.TestPyTokenizer) ol with a lot in it ... ok test_tags_wikimarkup44_ol_multiline_template (tests.test_pytokenizer.TestPyTokenizer) ol with a template that spans moltiple lines ... ok test_tags_wikimarkup45_ol_adjacent (tests.test_pytokenizer.TestPyTokenizer) moltiple adjacent ols ... ok test_tags_wikimarkup46_ol_depths (tests.test_pytokenizer.TestPyTokenizer) moltiple adjacent ols, with differing depths ... ok test_tags_wikimarkup47_ol_space_before (tests.test_pytokenizer.TestPyTokenizer) ols with space before them ... ok test_tags_wikimarkup48_ol_interruption (tests.test_pytokenizer.TestPyTokenizer) high-depth ol with something blocking it ... ok test_tags_wikimarkup49_ul_ol_mix (tests.test_pytokenizer.TestPyTokenizer) a mix of adjacent uls and ols ... ok test_tags_wikimarkup50_complex_dt (tests.test_pytokenizer.TestPyTokenizer) dt with a lot in it ... ok test_tags_wikimarkup51_dt_multiline_template (tests.test_pytokenizer.TestPyTokenizer) dt with a template that spans mdttiple lines ... ok test_tags_wikimarkup52_dt_adjacent (tests.test_pytokenizer.TestPyTokenizer) mdttiple adjacent dts ... ok test_tags_wikimarkup53_dt_depths (tests.test_pytokenizer.TestPyTokenizer) mdttiple adjacent dts, with differing depths ... ok test_tags_wikimarkup54_dt_space_before (tests.test_pytokenizer.TestPyTokenizer) dts with space before them ... ok test_tags_wikimarkup55_dt_interruption (tests.test_pytokenizer.TestPyTokenizer) high-depth dt with something blocking it ... ok test_tags_wikimarkup56_complex_dd (tests.test_pytokenizer.TestPyTokenizer) dd with a lot in it ... ok test_tags_wikimarkup57_dd_multiline_template (tests.test_pytokenizer.TestPyTokenizer) dd with a template that spans mddtiple lines ... ok test_tags_wikimarkup58_dd_adjacent (tests.test_pytokenizer.TestPyTokenizer) mddtiple adjacent dds ... ok test_tags_wikimarkup59_dd_depths (tests.test_pytokenizer.TestPyTokenizer) mddtiple adjacent dds, with differing depths ... ok test_tags_wikimarkup60_dd_space_before (tests.test_pytokenizer.TestPyTokenizer) dds with space before them ... ok test_tags_wikimarkup61_dd_interruption (tests.test_pytokenizer.TestPyTokenizer) high-depth dd with something blocking it ... ok test_tags_wikimarkup62_dt_dd_mix (tests.test_pytokenizer.TestPyTokenizer) a mix of adjacent dts and dds ... ok test_tags_wikimarkup63_dt_dd_mix2 (tests.test_pytokenizer.TestPyTokenizer) the correct usage of a dt/dd unit, as in a dl ... ok test_tags_wikimarkup64_dt_dd_mix3 (tests.test_pytokenizer.TestPyTokenizer) another example of correct (but strange) dt/dd usage ... ok test_tags_wikimarkup65_dt_dd_mix4 (tests.test_pytokenizer.TestPyTokenizer) another example of correct dt/dd usage, with a trigger for a specific parse route ... ok test_tags_wikimarkup66_ul_ol_dt_dd_mix (tests.test_pytokenizer.TestPyTokenizer) an assortment of uls, ols, dds, and dts ... ok test_tags_wikimarkup67_hr_text_before (tests.test_pytokenizer.TestPyTokenizer) text before an otherwise-valid hr ... ok test_tags_wikimarkup68_hr_text_after (tests.test_pytokenizer.TestPyTokenizer) text after a valid hr ... ok test_tags_wikimarkup69_hr_text_before_after (tests.test_pytokenizer.TestPyTokenizer) text at both ends of an otherwise-valid hr ... ok test_tags_wikimarkup70_hr_newlines (tests.test_pytokenizer.TestPyTokenizer) newlines surrounding a valid hr ... ok test_tags_wikimarkup71_hr_adjacent (tests.test_pytokenizer.TestPyTokenizer) two adjacent hrs ... ok test_tags_wikimarkup72_hr_adjacent_space (tests.test_pytokenizer.TestPyTokenizer) two adjacent hrs, with a space before the second one, making it invalid ... ok test_tags_wikimarkup73_hr_short (tests.test_pytokenizer.TestPyTokenizer) an invalid three-hyphen-long hr ... ok test_tags_wikimarkup74_hr_long (tests.test_pytokenizer.TestPyTokenizer) a very long, valid hr ... ok test_tags_wikimarkup75_hr_interruption_short (tests.test_pytokenizer.TestPyTokenizer) a hr that is interrupted, making it invalid ... ok test_tags_wikimarkup76_hr_interruption_long (tests.test_pytokenizer.TestPyTokenizer) a hr that is interrupted, but the first part remains valid because it is long enough ... ok test_tags_wikimarkup77_nowiki_cancel (tests.test_pytokenizer.TestPyTokenizer) a nowiki tag before a list causes it to not be parsed ... ok test_templates001_no_params (tests.test_pytokenizer.TestPyTokenizer) simplest type of template ... ok test_templates002_one_param_unnamed (tests.test_pytokenizer.TestPyTokenizer) basic template with one unnamed parameter ... ok test_templates003_one_param_named (tests.test_pytokenizer.TestPyTokenizer) basic template with one named parameter ... ok test_templates004_multiple_unnamed_params (tests.test_pytokenizer.TestPyTokenizer) basic template with multiple unnamed parameters ... ok test_templates005_multiple_named_params (tests.test_pytokenizer.TestPyTokenizer) basic template with multiple named parameters ... ok test_templates006_multiple_mixed_params (tests.test_pytokenizer.TestPyTokenizer) basic template with multiple unnamed/named parameters ... ok test_templates007_multiple_mixed_params2 (tests.test_pytokenizer.TestPyTokenizer) basic template with multiple unnamed/named parameters in another order ... ok test_templates008_blank_params (tests.test_pytokenizer.TestPyTokenizer) template with blank parameters (mix of pipes and equal signs) ... ok test_templates009_nested_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) nested template as an unnamed parameter ... ok test_templates010_nested_named_param_value (tests.test_pytokenizer.TestPyTokenizer) nested template as a parameter value with a named parameter ... ok test_templates011_nested_named_param_name_and_value (tests.test_pytokenizer.TestPyTokenizer) nested templates as a parameter name and value ... ok test_templates012_nested_name_start (tests.test_pytokenizer.TestPyTokenizer) nested template at the beginning of a template name ... ok test_templates013_nested_name_start_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) nested template at the beginning of a template name and as an unnamed parameter ... ok test_templates014_nested_name_start_named_param_value (tests.test_pytokenizer.TestPyTokenizer) nested template at the beginning of a template name and as a parameter value with a named parameter ... ok test_templates015_nested_name_start_named_param_name_and_value (tests.test_pytokenizer.TestPyTokenizer) nested template at the beginning of a template name and as a parameter name and value ... ok test_templates016_nested_name_end (tests.test_pytokenizer.TestPyTokenizer) nested template at the end of a template name ... ok test_templates017_nested_name_end_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) nested template at the end of a template name and as an unnamed parameter ... ok test_templates018_nested_name_end_named_param_value (tests.test_pytokenizer.TestPyTokenizer) nested template at the end of a template name and as a parameter value with a named parameter ... ok test_templates019_nested_name_end_named_param_name_and_value (tests.test_pytokenizer.TestPyTokenizer) nested template at the end of a template name and as a parameter name and value ... ok test_templates020_nested_name_mid (tests.test_pytokenizer.TestPyTokenizer) nested template in the middle of a template name ... ok test_templates021_nested_name_mid_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) nested template in the middle of a template name and as an unnamed parameter ... ok test_templates022_nested_name_mid_named_param_value (tests.test_pytokenizer.TestPyTokenizer) nested template in the middle of a template name and as a parameter value with a named parameter ... ok test_templates023_nested_name_mid_named_param_name_and_value (tests.test_pytokenizer.TestPyTokenizer) nested template in the middle of a template name and as a parameter name and value ... ok test_templates024_nested_name_start_end (tests.test_pytokenizer.TestPyTokenizer) nested template at the beginning and end of a template name ... ok test_templates025_nested_name_start_end_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) nested template at the beginning and end of a template name and as an unnamed parameter ... ok test_templates026_nested_name_start_end_named_param_value (tests.test_pytokenizer.TestPyTokenizer) nested template at the beginning and end of a template name and as a parameter value with a named parameter ... ok test_templates027_nested_name_start_end_named_param_name_and_value (tests.test_pytokenizer.TestPyTokenizer) nested template at the beginning and end of a template name and as a parameter name and value ... ok test_templates028_nested_names_multiple (tests.test_pytokenizer.TestPyTokenizer) multiple nested templates within nested templates ... ok test_templates029_nested_names_multiple_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) multiple nested templates within nested templates with a nested unnamed parameter ... ok test_templates030_nested_names_multiple_named_param_value (tests.test_pytokenizer.TestPyTokenizer) multiple nested templates within nested templates with a nested parameter value in a named parameter ... ok test_templates031_nested_names_multiple_named_param_name_and_value (tests.test_pytokenizer.TestPyTokenizer) multiple nested templates within nested templates with a nested parameter name and value ... ok test_templates032_mixed_nested_templates (tests.test_pytokenizer.TestPyTokenizer) mixed assortment of nested templates within template names, parameter names, and values ... ok test_templates033_nested_two_args (tests.test_pytokenizer.TestPyTokenizer) template whose first parameter is unnamed with two templates, followed by a named parameter ... ok test_templates034_newlines_start (tests.test_pytokenizer.TestPyTokenizer) a newline at the start of a template name ... ok test_templates035_newlines_end (tests.test_pytokenizer.TestPyTokenizer) a newline at the end of a template name ... ok test_templates036_newlines_start_end (tests.test_pytokenizer.TestPyTokenizer) a newline at the start and end of a template name ... ok test_templates037_newlines_mid (tests.test_pytokenizer.TestPyTokenizer) a newline at the middle of a template name ... ok test_templates038_newlines_start_mid (tests.test_pytokenizer.TestPyTokenizer) a newline at the start and middle of a template name ... ok test_templates039_newlines_mid_end (tests.test_pytokenizer.TestPyTokenizer) a newline at the middle and end of a template name ... ok test_templates040_newlines_start_mid_end (tests.test_pytokenizer.TestPyTokenizer) a newline at the start, middle, and end of a template name ... ok test_templates041_newlines_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) newlines within an unnamed template parameter ... ok test_templates042_newlines_enclose_template_name_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) newlines enclosing a template name and within an unnamed template parameter ... ok test_templates043_newlines_within_template_name_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) newlines within a template name and within an unnamed template parameter ... ok test_templates044_newlines_enclose_template_name_named_param_value (tests.test_pytokenizer.TestPyTokenizer) newlines enclosing a template name and within a named parameter value ... ok test_templates045_newlines_within_template_name_named_param_value (tests.test_pytokenizer.TestPyTokenizer) newlines within a template name and within a named parameter value ... ok test_templates046_newlines_named_param_name (tests.test_pytokenizer.TestPyTokenizer) newlines within a parameter name ... ok test_templates047_newlines_named_param_name_param_value (tests.test_pytokenizer.TestPyTokenizer) newlines within a parameter name and within a parameter value ... ok test_templates048_newlines_enclose_template_name_named_param_name (tests.test_pytokenizer.TestPyTokenizer) newlines enclosing a template name and within a parameter name ... ok test_templates049_newlines_enclose_template_name_named_param_name_param_value (tests.test_pytokenizer.TestPyTokenizer) newlines enclosing a template name and within a parameter name and within a parameter value ... ok test_templates050_newlines_within_template_name_named_param_name (tests.test_pytokenizer.TestPyTokenizer) newlines within a template name and within a parameter name ... ok test_templates051_newlines_within_template_name_named_param_name_param_value (tests.test_pytokenizer.TestPyTokenizer) newlines within a template name and within a parameter name and within a parameter value ... ok test_templates052_newlines_wildcard (tests.test_pytokenizer.TestPyTokenizer) a random, complex assortment of templates and newlines ... ok test_templates053_newlines_wildcard_redux (tests.test_pytokenizer.TestPyTokenizer) an even more random and complex assortment of templates and newlines ... ok test_templates054_newlines_wildcard_redux_invalid (tests.test_pytokenizer.TestPyTokenizer) a variation of the newlines_wildcard_redux test that is invalid ... ok test_templates055_newlines_spaces (tests.test_pytokenizer.TestPyTokenizer) newlines in the middle of a template name, followed by spaces ... ok test_templates056_newlines_spaces_param (tests.test_pytokenizer.TestPyTokenizer) newlines in the middle of a template name, followed by spaces, with a parameter ... ok test_templates057_invalid_blank (tests.test_pytokenizer.TestPyTokenizer) invalid template with no content ... ok test_templates058_invalid_blank_whitespace (tests.test_pytokenizer.TestPyTokenizer) invalid template with no content, but whitespace ... ok test_templates059_invalid_blank_pipe (tests.test_pytokenizer.TestPyTokenizer) invalid template with no content, but a parameter ... ok test_templates060_invalid_blank_whitespace_pipe (tests.test_pytokenizer.TestPyTokenizer) invalid template with no content, but whitespace and a parameter ... ok test_templates061_invalid_name_left_brace_middle (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template name: left brace in middle ... ok test_templates062_invalid_name_right_brace_middle (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template name: right brace in middle ... ok test_templates063_invalid_name_left_braces (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template name: two left braces in middle ... ok test_templates064_invalid_name_left_bracket_middle (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template name: left bracket in middle ... ok test_templates065_invalid_name_right_bracket_middle (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template name: right bracket in middle ... ok test_templates066_invalid_name_left_bracket_start (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template name: left bracket at start ... ok test_templates067_invalid_name_right_bracket_start (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template name: right bracket at end ... ok test_templates068_valid_name_left_brace_start (tests.test_pytokenizer.TestPyTokenizer) valid characters in template name: left brace at start ... ok test_templates069_valid_unnamed_param_left_brace (tests.test_pytokenizer.TestPyTokenizer) valid characters in unnamed template parameter: left brace ... ok test_templates070_valid_unnamed_param_braces (tests.test_pytokenizer.TestPyTokenizer) valid characters in unnamed template parameter: left and right braces ... ok test_templates071_valid_param_name_braces (tests.test_pytokenizer.TestPyTokenizer) valid characters in template parameter name: left and right braces ... ok test_templates072_valid_param_name_brackets (tests.test_pytokenizer.TestPyTokenizer) valid characters in unnamed template parameter: left and right brackets ... ok test_templates073_valid_param_name_double_left_brackets (tests.test_pytokenizer.TestPyTokenizer) valid characters in unnamed template parameter: double left brackets ... ok test_templates074_valid_param_name_double_right_brackets (tests.test_pytokenizer.TestPyTokenizer) valid characters in unnamed template parameter: double right brackets ... ok test_templates075_valid_param_name_double_brackets (tests.test_pytokenizer.TestPyTokenizer) valid characters in unnamed template parameter: double left and right brackets ... ok test_templates076_invalid_param_name_double_left_braces (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template parameter name: double left braces ... ok test_templates077_invalid_param_name_double_braces (tests.test_pytokenizer.TestPyTokenizer) invalid characters in template parameter name: double left and right braces ... ok test_templates078_invalid_left_angle_bracket (tests.test_pytokenizer.TestPyTokenizer) invalid template: left angle bracket in name ... ok test_templates079_invalid_right_angle_bracket (tests.test_pytokenizer.TestPyTokenizer) invalid template: right angle bracket in name ... ok test_templates080_incomplete_stub (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: just an opening ... ok test_templates081_incomplete_plain (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: no close whatsoever ... ok test_templates082_incomplete_right_brace (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: only one right brace ... ok test_templates083_incomplete_pipe (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: a pipe ... ok test_templates084_incomplete_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: an unnamed parameter ... ok test_templates085_incomplete_unnamed_param_pipe (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: an unnamed parameter, then a pipe ... ok test_templates086_incomplete_valueless_param (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: an a named parameter with no value ... ok test_templates087_incomplete_valueless_param_pipe (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: a named parameter with no value, then a pipe ... ok test_templates088_incomplete_named_param (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: a named parameter with a value ... ok test_templates089_incomplete_named_param_pipe (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: a named parameter with a value, then a paipe ... ok test_templates090_incomplete_two_unnamed_params (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: two unnamed parameters ... ok test_templates091_incomplete_unnamed_param_valueless_param (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: an unnamed parameter, then a named parameter with no value ... ok test_templates092_incomplete_unnamed_param_named_param (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: an unnamed parameter, then a named parameter with a value ... ok test_templates093_incomplete_named_param_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: a named parameter with a value, then an unnamed parameter ... ok test_templates094_incomplete_named_param_valueless_param (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: a named parameter with a value, then a named parameter with no value ... ok test_templates095_incomplete_two_named_params (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: two named parameters with values ... ok test_templates096_incomplete_nested_template_as_unnamed_param (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: a valid nested template as an unnamed parameter ... ok test_templates097_incomplete_nested_template_as_param_value (tests.test_pytokenizer.TestPyTokenizer) incomplete templates that should fail gracefully: a valid nested template as a parameter value ... ok test_templates098_recursion_five_hundred_opens (tests.test_pytokenizer.TestPyTokenizer) test potentially dangerous recursion: five hundred template openings, without spaces ... ok test_templates099_recursion_one_hundred_opens (tests.test_pytokenizer.TestPyTokenizer) test potentially dangerous recursion: one hundred template openings, with spaces ... ok test_templates100_recursion_opens_and_closes (tests.test_pytokenizer.TestPyTokenizer) test potentially dangerous recursion: template openings and closings ... ok test_templates101_invalid_section_level_1 (tests.test_pytokenizer.TestPyTokenizer) level 1 headings inside a template are always invalid ... ok test_templates102_section_level_2 (tests.test_pytokenizer.TestPyTokenizer) valid level 2 heading inside a template ... ok test_templates103_invalid_section_level_2 (tests.test_pytokenizer.TestPyTokenizer) invalid level 2 heading inside a template ... ok test_templates104_section_level_2_after_template_parameter (tests.test_pytokenizer.TestPyTokenizer) level 2 heading inside a template after a parameter ... ok test_text1_basic (tests.test_pytokenizer.TestPyTokenizer) sanity check for basic text parsing, no gimmicks ... ok test_text2_newlines (tests.test_pytokenizer.TestPyTokenizer) slightly more complex text parsing, with newlines ... ok test_text3_unicode (tests.test_pytokenizer.TestPyTokenizer) ensure unicode data is handled properly ... ok test_text4_unicode2 (tests.test_pytokenizer.TestPyTokenizer) additional unicode check for non-BMP codepoints ... ok test_text5_large (tests.test_pytokenizer.TestPyTokenizer) a lot of text, requiring proper storage in the C tokenizer ... ok test_uses_c (tests.test_pytokenizer.TestPyTokenizer) make sure the Python tokenizer identifies as not using C ... ok test_wikilinks01_blank (tests.test_pytokenizer.TestPyTokenizer) wikilink with no content ... ok test_wikilinks02_blank_with_text (tests.test_pytokenizer.TestPyTokenizer) wikilink with no content but a pipe ... ok test_wikilinks03_basic (tests.test_pytokenizer.TestPyTokenizer) simplest type of wikilink ... ok test_wikilinks04_with_text (tests.test_pytokenizer.TestPyTokenizer) wikilink with a text value ... ok test_wikilinks05_blank_with_multiple_texts (tests.test_pytokenizer.TestPyTokenizer) no content, multiple pipes ... ok test_wikilinks06_multiple_texts (tests.test_pytokenizer.TestPyTokenizer) multiple text values separated by pipes ... ok test_wikilinks07_newline_text (tests.test_pytokenizer.TestPyTokenizer) a newline in the middle of the text ... ok test_wikilinks08_bracket_text (tests.test_pytokenizer.TestPyTokenizer) a left bracket in the middle of the text ... ok test_wikilinks09_nested (tests.test_pytokenizer.TestPyTokenizer) a wikilink nested within another ... ok test_wikilinks10_nested_padding (tests.test_pytokenizer.TestPyTokenizer) a wikilink nested within another, separated by other data ... ok test_wikilinks11_invalid_newline (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: newline as only content ... ok test_wikilinks12_invalid_right_brace (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: right brace ... ok test_wikilinks13_invalid_left_brace (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: left brace ... ok test_wikilinks14_invalid_right_bracket (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: right bracket ... ok test_wikilinks15_invalid_left_bracket (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: left bracket ... ok test_wikilinks16_invalid_nested (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: trying to nest in the wrong context ... ok test_wikilinks17_invalid_nested_padding (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: trying to nest in the wrong context, with a text param ... ok test_wikilinks18_invalid_nested_no_close (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: a wikilink nested within the value of another, missing a pair of closing brackets ... ok test_wikilinks19_invalid_left_angle_bracket (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: left angle bracket ... ok test_wikilinks20_invalid_right_angle_bracket (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: right angle bracket ... ok test_wikilinks21_invalid_newline_at_start (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: newline at start of title ... ok test_wikilinks22_invalid_newline_at_end (tests.test_pytokenizer.TestPyTokenizer) invalid wikilink: newline at end of title ... ok test_wikilinks23_incomplete_open_only (tests.test_pytokenizer.TestPyTokenizer) incomplete wikilinks: just an open ... ok test_wikilinks24_incomplete_open_text (tests.test_pytokenizer.TestPyTokenizer) incomplete wikilinks: an open with some text ... ok test_wikilinks25_incomplete_open_text_pipe (tests.test_pytokenizer.TestPyTokenizer) incomplete wikilinks: an open, text, then a pipe ... ok test_wikilinks26_incomplete_open_pipe (tests.test_pytokenizer.TestPyTokenizer) incomplete wikilinks: an open, then a pipe ... ok test_wikilinks27_incomplete_open_pipe_text (tests.test_pytokenizer.TestPyTokenizer) incomplete wikilinks: an open, then a pipe, then text ... ok test_wikilinks28_incomplete_open_pipes_text (tests.test_pytokenizer.TestPyTokenizer) incomplete wikilinks: a pipe, then text then two pipes ... ok test_wikilinks29_incomplete_open_partial_close (tests.test_pytokenizer.TestPyTokenizer) incomplete wikilinks: an open, then one right brace ... ok test_wikilinks30_incomplete_preserve_previous (tests.test_pytokenizer.TestPyTokenizer) incomplete wikilinks: a valid wikilink followed by an invalid one ... ok test_children (tests.test_text.TestText) test Text.__children__() ... ok test_showtree (tests.test_text.TestText) test Text.__showtree__() ... ok test_str (tests.test_text.TestText) test Text.__str__() ... ok test_strip (tests.test_text.TestText) test Text.__strip__() ... ok test_value (tests.test_text.TestText) test getter/setter for the value attribute ... ok ---------------------------------------------------------------------- Ran 1818 tests in 0.823s OK (skipped=1) create-stamp debian/debhelper-build-stamp dh_testroot -a -O--buildsystem=pybuild dh_prep -a -O--buildsystem=pybuild dh_auto_install -a -O--buildsystem=pybuild I: pybuild base:232: /usr/bin/python3 setup.py install --root /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell running install running build running build_py running build_ext running install_lib creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9 creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/html_entity.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/heading.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/_base.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/argument.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/tag.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/wikilink.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/template.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/text.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/external_link.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/extras copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/extras/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/extras copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/extras/parameter.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/extras copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/extras/attribute.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/extras copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/nodes/comment.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/string_mixin.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/wikicode.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list/smart_list.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list/utils.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/smart_list/list_proxy.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/utils.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/definitions.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell creating /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/builder.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/__init__.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/errors.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/tokens.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/_tokenizer.cpython-39-x86_64-linux-gnu.so -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/tokenizer.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser copying /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/.pybuild/cpython3_3.9/build/mwparserfromhell/parser/contexts.py -> /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/html_entity.py to html_entity.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/heading.py to heading.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/__init__.py to __init__.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/_base.py to _base.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/argument.py to argument.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/tag.py to tag.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/wikilink.py to wikilink.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/template.py to template.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/text.py to text.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/external_link.py to external_link.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/extras/__init__.py to __init__.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/extras/parameter.py to parameter.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/extras/attribute.py to attribute.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/nodes/comment.py to comment.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/__init__.py to __init__.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/string_mixin.py to string_mixin.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/wikicode.py to wikicode.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list/__init__.py to __init__.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list/smart_list.py to smart_list.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list/utils.py to utils.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/smart_list/list_proxy.py to list_proxy.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/utils.py to utils.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/definitions.py to definitions.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser/builder.py to builder.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser/__init__.py to __init__.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser/errors.py to errors.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser/tokens.py to tokens.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser/tokenizer.py to tokenizer.cpython-39.pyc byte-compiling /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell/parser/contexts.py to contexts.cpython-39.pyc running install_egg_info running egg_info writing mwparserfromhell.egg-info/PKG-INFO writing dependency_links to mwparserfromhell.egg-info/dependency_links.txt writing top-level names to mwparserfromhell.egg-info/top_level.txt reading manifest file 'mwparserfromhell.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'mwparserfromhell.egg-info/SOURCES.txt' Copying mwparserfromhell.egg-info to /build/mwparserfromhell-uU98YY/mwparserfromhell-0.6/debian/python3-mwparserfromhell/usr/lib/python3.9/dist-packages/mwparserfromhell-0.6.egg-info Skipping SOURCES.txt running install_scripts dh_installdocs -a -O--buildsystem=pybuild dh_installchangelogs -a -O--buildsystem=pybuild dh_python3 -a -O--buildsystem=pybuild dh_installsystemduser -a -O--buildsystem=pybuild dh_perl -a -O--buildsystem=pybuild dh_link -a -O--buildsystem=pybuild dh_strip_nondeterminism -a -O--buildsystem=pybuild dh_compress -a -O--buildsystem=pybuild dh_fixperms -a -O--buildsystem=pybuild dh_missing -a -O--buildsystem=pybuild dh_dwz -a -a -O--buildsystem=pybuild dh_strip -a -a -O--buildsystem=pybuild dh_makeshlibs -a -a -O--buildsystem=pybuild dh_shlibdeps -a -a -O--buildsystem=pybuild dh_installdeb -a -O--buildsystem=pybuild dh_gencontrol -a -O--buildsystem=pybuild dpkg-gencontrol: warning: package python3-mwparserfromhell: substitution variable ${python3:Provides} unused, but is defined dpkg-gencontrol: warning: package python3-mwparserfromhell: substitution variable ${python3:Versions} unused, but is defined dpkg-gencontrol: warning: package python3-mwparserfromhell: substitution variable ${python3:Provides} unused, but is defined dpkg-gencontrol: warning: package python3-mwparserfromhell: substitution variable ${python3:Versions} unused, but is defined dh_md5sums -a -O--buildsystem=pybuild dh_builddeb -a -O--buildsystem=pybuild dpkg-deb: building package 'python3-mwparserfromhell' in '../python3-mwparserfromhell_0.6-1_amd64.deb'. dpkg-deb: building package 'python3-mwparserfromhell-dbgsym' in '../python3-mwparserfromhell-dbgsym_0.6-1_amd64.deb'. dpkg-genbuildinfo --build=any dpkg-genchanges --build=any >../mwparserfromhell_0.6-1_amd64.changes dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/mwparserfromhell-uU98YY /tmp/mwparserfromhell-0.6-1peealj0t I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.80S0RpCs_S... I: success in 434.6937 seconds md5: python3-mwparserfromhell-dbgsym_0.6-1_amd64.deb: OK md5: python3-mwparserfromhell_0.6-1_amd64.deb: OK sha1: python3-mwparserfromhell-dbgsym_0.6-1_amd64.deb: OK sha1: python3-mwparserfromhell_0.6-1_amd64.deb: OK sha256: python3-mwparserfromhell-dbgsym_0.6-1_amd64.deb: OK sha256: python3-mwparserfromhell_0.6-1_amd64.deb: OK Checksums: OK