Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 862037 Details for
Bug 906843
dev-python/terminaltables-3.1.10-r1 fails tests (MUSL-SYSTEM)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
build.log
build.log (text/plain), 401.58 KB, created by
Agostino Sarubbo
on 2023-05-20 11:51:33 UTC
(
hide
)
Description:
build.log
Filename:
MIME Type:
Creator:
Agostino Sarubbo
Created:
2023-05-20 11:51:33 UTC
Size:
401.58 KB
patch
obsolete
> * Package: dev-python/terminaltables-3.1.10-r1:0 > * Repository: gentoo > * Maintainer: grknight@gentoo.org python@gentoo.org > * USE: abi_x86_64 amd64 elibc_musl kernel_linux python_targets_python3_10 python_targets_python3_11 test > * FEATURES: network-sandbox preserve-libs sandbox test userpriv usersandbox > > >@@@@@ PLEASE PAY ATTENTION HERE!!! @@@@@ >This information may help you to understand if this is a duplicate or if this bug exists after you pushed a fix; >This ebuild was merged at the following commit: >https://github.com/gentoo-mirror/gentoo/commit/4d6a8568b3e63613fc7e45548548aa5fa057ca8e (Sat May 20 04:02:01 UTC 2023) >@@@@@ END @@@@@ > > > >################## ># emerge --info: # >################## >Portage 3.0.47 (python 3.11.3-final-0, default/linux/amd64/17.0/musl/hardened, gcc-13, musl-1.2.4, 5.15.85-gentoo-dist x86_64) >================================================================= >System uname: Linux-5.15.85-gentoo-dist-x86_64-AMD_EPYC_7513_32-Core_Processor-with-libc >KiB Mem: 263532996 total, 32803220 free >KiB Swap: 0 total, 0 free >Timestamp of repository gentoo: Sat, 20 May 2023 04:02:00 +0000 >sh bash 5.2_p15-r2 >ld GNU ld (Gentoo 2.40 p5) 2.40.0 >app-misc/pax-utils: 1.3.7::gentoo >app-shells/bash: 5.2_p15-r2::gentoo >dev-lang/perl: 5.36.1-r1::gentoo >dev-lang/python: 3.10.11::gentoo, 3.11.3::gentoo >dev-util/cmake: 3.26.4-r1::gentoo >dev-util/meson: 1.1.0::gentoo >sys-apps/baselayout: 2.13-r1::gentoo >sys-apps/openrc: 0.47.1::gentoo >sys-apps/sandbox: 2.30-r1::gentoo >sys-devel/autoconf: 2.71-r6::gentoo >sys-devel/automake: 1.16.5-r1::gentoo >sys-devel/binutils: 2.40-r5::gentoo >sys-devel/binutils-config: 5.5::gentoo >sys-devel/gcc: 13.1.1_p20230513::gentoo >sys-devel/gcc-config: 2.11::gentoo >sys-devel/libtool: 2.4.7-r1::gentoo >sys-devel/make: 4.4.1::gentoo >sys-kernel/linux-headers: 6.3::gentoo (virtual/os-headers) >sys-libs/musl: 1.2.4::gentoo >Repositories: > >gentoo > location: /usr/portage > sync-type: rsync > sync-uri: rsync://rsync.gentoo.org/gentoo-portage > priority: -1000 > volatile: True > sync-rsync-verify-metamanifest: yes > sync-rsync-extra-opts: > sync-rsync-verify-jobs: 1 > sync-rsync-verify-max-age: 24 > >ACCEPT_KEYWORDS="amd64 ~amd64" >ACCEPT_LICENSE="* MIT" >CBUILD="x86_64-gentoo-linux-musl" >CFLAGS="-O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" >CHOST="x86_64-gentoo-linux-musl" >CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" >CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" >CXXFLAGS="-O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" >DISTDIR="/var/tmp/portage/dev-python/terminaltables-3.1.10-r1/distdir" >EMERGE_DEFAULT_OPTS="--with-bdeps=y -1 -k -b --backtrack=100" >ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" >FCFLAGS="-O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" >FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms sign split-log strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" >FFLAGS="-O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" >GENTOO_MIRRORS="http://mirror.leaseweb.com/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo/ http://ftp.belnet.be/pub/rsync.gentoo.org/gentoo/ http://distfiles.gentoo.org" >INSTALL_MASK="charset.alias /usr/share/locale/locale.alias" >LANG="C.UTF8" >LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0" >LEX="flex" >MAKEOPTS="-j16" >PKGDIR="/root/tbci/binpkg" >PORTAGE_CONFIGROOT="/" >PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" >PORTAGE_TMPDIR="/var/tmp" >SHELL="/bin/bash" >USE="acl amd64 bzip2 cet cli crypt debug dri elogind fortran hardened iconv ipv6 jumbo-build libtirpc native-symlinks ncurses nls nptl openmp pam pcre pie readline seccomp split-usr ssl ssp test test-rust unicode xattr xtpax zlib" ABI_X86="64" ELIBC="musl" KERNEL="linux" PYTHON_TARGETS="python3_10 python3_11" >Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS > > > > > >############################## ># emerge history (qlop -mv): # >############################## >2023-05-20T04:04:17 >>> sys-libs/timezone-data-2023c >2023-05-20T04:04:18 >>> dev-python/six-1.16.0-r1 >2023-05-20T04:04:20 >>> dev-python/lark-1.1.5 >2023-05-20T04:04:21 >>> dev-python/hatch-fancy-pypi-readme-22.8.0 >2023-05-20T04:04:22 >>> dev-python/pyrsistent-0.19.3 >2023-05-20T04:04:24 >>> dev-python/fqdn-1.5.1-r2 >2023-05-20T04:04:26 >>> dev-python/attrs-23.1.0 >2023-05-20T04:04:27 >>> dev-python/jsonpointer-2.3 >2023-05-20T04:04:29 >>> dev-python/uri_template-1.2.0-r1 >2023-05-20T04:04:30 >>> dev-python/webcolors-1.13 >2023-05-20T04:04:32 >>> dev-python/regex-2023.5.5 >2023-05-20T04:04:34 >>> dev-python/strict-rfc3339-0.7-r2 >2023-05-20T04:04:35 >>> dev-python/python-dateutil-2.8.2-r1 >2023-05-20T04:04:37 >>> dev-python/hatch-vcs-0.3.0 >2023-05-20T04:04:39 >>> dev-python/rfc3987-1.3.8-r2 >2023-05-20T04:04:41 >>> dev-python/rfc3339-validator-0.1.4-r1 >2023-05-20T04:04:44 >>> dev-python/arrow-1.2.3 >2023-05-20T04:04:48 >>> dev-python/rfc3986-validator-0.1.1-r1 >2023-05-20T04:04:52 >>> dev-python/isoduration-20.11.0-r1 >2023-05-20T04:04:55 >>> dev-python/jsonschema-4.17.3 >2023-05-20T04:04:57 >>> dev-python/poetry-core-1.6.0 >2023-05-20T04:05:00 >>> dev-python/terminaltables-3.1.10-r1 >2023-05-20T04:05:13 >>> dev-python/colorama-0.4.6 >2023-05-20T04:05:14 >>> dev-python/colorclass-2.2.2-r1 >2023-05-20T04:05:15 >>> dev-python/iniconfig-2.0.0 >2023-05-20T04:05:17 >>> dev-python/exceptiongroup-1.1.1 >2023-05-20T04:05:18 >>> dev-python/flit_scm-1.7.0 >2023-05-20T04:05:23 >>> dev-python/pytest-7.3.1 >2023-05-20T04:05:20 >>> dev-python/termcolor-2.3.0 > > > > >####################################### ># installed packages (qlist -ICvUSS): # >####################################### >acct-group/audio-0-r1:0 >acct-group/cdrom-0-r1:0 >acct-group/dialout-0-r1:0 >acct-group/disk-0-r1:0 >acct-group/floppy-0:0 >acct-group/input-0-r1:0 >acct-group/kmem-0-r1:0 >acct-group/kvm-0-r1:0 >acct-group/lp-0-r1:0 >acct-group/man-0-r1:0 >acct-group/messagebus-0-r1:0 >acct-group/portage-0:0 >acct-group/render-0-r1:0 >acct-group/root-0:0 >acct-group/sgx-0:0 >acct-group/sshd-0-r1:0 >acct-group/tape-0-r1:0 >acct-group/tty-0-r1:0 >acct-group/usb-0-r1:0 >acct-group/video-0-r1:0 >acct-user/man-1-r1:0 >acct-user/messagebus-0-r1:0 >acct-user/portage-0:0 >acct-user/sshd-0-r1:0 >app-admin/eselect-1.4.22:0 -doc -emacs -vim-syntax >app-admin/perl-cleaner-2.30-r1:0 -pkgcore >app-alternatives/awk-4:0 -busybox gawk -mawk -nawk split-usr >app-alternatives/bc-0:0 -gh gnu >app-alternatives/bzip2-1:0 -lbzip2 -pbzip2 reference split-usr >app-alternatives/cpio-0:0 gnu -libarchive split-usr >app-alternatives/gzip-0:0 -pigz reference split-usr >app-alternatives/lex-0-r1:0 flex -reflex >app-alternatives/sh-0:0 bash -busybox -dash -ksh -lksh -mksh >app-alternatives/tar-0:0 gnu -libarchive split-usr >app-alternatives/yacc-1-r2:0 bison -byacc -reference >app-arch/bzip2-1.0.8-r4:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 split-usr -static -static-libs -verify-sig >app-arch/cpio-2.14:0 nls >app-arch/gzip-1.12-r4:0 -pic -static -verify-sig >app-arch/libarchive-3.6.2-r1:0/13 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl -blake2 bzip2 e2fsprogs -expat iconv -lz4 lzma -lzo -nettle -static-libs -verify-sig xattr -zstd >app-arch/tar-1.34-r3:0 acl -minimal nls -selinux -verify-sig xattr >app-arch/unzip-6.0_p27-r1:0 bzip2 -natspec unicode >app-arch/xz-utils-5.4.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc extra-filters nls split-usr -static-libs -verify-sig >app-arch/zstd-1.5.5:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -lz4 lzma split-usr -static-libs -test zlib >app-crypt/gnupg-2.4.0:0 bzip2 -doc -ldap nls readline -selinux smartcard ssl -test tofu -tools -tpm -usb -user-socket -verify-sig -wks-server >app-crypt/gpgme-1.20.0:1/11.6.15.2 -common-lisp cxx debug -python python_targets_python3_10 python_targets_python3_11 -qt5 -static-libs -test -verify-sig >app-crypt/libb2-0.98.1-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -native-cflags openmp -static-libs >app-crypt/libmd-1.0.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 >app-crypt/pinentry-1.2.1-r3:0 -X -caps -efl -emacs -gtk -keyring ncurses -qt5 -verify-sig -wayland >app-crypt/rhash-1.4.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug nls ssl -static-libs >app-editors/nano-7.2:0 -debug -justify -magic -minimal ncurses nls spell -static unicode >app-eselect/eselect-fontconfig-20220403:0 >app-eselect/eselect-iptables-20220320:0 >app-eselect/eselect-lib-bin-symlink-0.1.1-r1:0 >app-eselect/eselect-pinentry-0.7.2-r1:0 >app-misc/ca-certificates-20230311.3.89.1:0 -cacert >app-misc/editor-wrapper-4-r1:0 >app-misc/mime-types-2.1.53:0 -nginx >app-misc/pax-utils-1.3.7:0 -caps -man -python -python_single_target_python3_10 python_single_target_python3_11 -seccomp -test >app-misc/tmux-3.3a-r1:0 debug -selinux -systemd -utempter -vim-syntax >app-portage/eix-0.36.6:0 debug -doc nls -sqlite >app-portage/elt-patches-20221210:0 >app-portage/gemato-20.2:0 gpg -pretty-log -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test -tools >app-portage/gentoolkit-0.6.1-r3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >app-portage/portage-utils-0.95:0 openmp qmanifest qtegrity -static >app-shells/bash-5.2_p15-r2:0 -afs -bashlogger -examples -mem-scramble net nls -pgo -plugins readline -verify-sig >app-shells/bash-completion-2.11:0 eselect -test >app-shells/gentoo-bashcomp-20230313:0 >app-shells/push-3.4:0 >app-shells/quoter-4.2:0 >app-text/ansifilter-2.18:0 -qt5 >app-text/asciidoc-10.2.0:0 -python_single_target_pypy3 -python_single_target_python3_10 python_single_target_python3_11 >app-text/build-docbook-catalog-2.4:0 >app-text/docbook-xml-dtd-4.5-r2:4.5 >app-text/docbook-xml-dtd-4.4-r3:4.4 >app-text/docbook-xml-dtd-4.2-r3:4.2 >app-text/docbook-xml-dtd-4.1.2-r7:4.1.2 >app-text/docbook-xsl-ns-stylesheets-1.79.1:0 -ruby >app-text/docbook-xsl-stylesheets-1.79.1-r4:0 -ruby >app-text/manpager-1:0 >app-text/sgml-common-0.6.3-r7:0 >app-text/xmlto-0.0.28-r10:0 -latex text >dev-db/sqlite-3.42.0:3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug -doc -icu readline -secure-delete -static-libs -tcl -test -tools >dev-lang/perl-5.36.1-r1:0/5.36 -berkdb debug -doc -gdbm ithreads -minimal -quadmath >dev-lang/python-3.11.3:3.11 -bluetooth -build ensurepip -examples gdbm hardened -libedit -lto ncurses -pgo readline sqlite ssl -test -tk -valgrind -verify-sig >dev-lang/python-3.10.11:3.10 -bluetooth -build ensurepip -examples gdbm hardened -libedit -lto ncurses -pgo readline sqlite ssl -test -tk -valgrind -verify-sig xml >dev-lang/python-exec-2.4.10:2 native-symlinks python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-lang/python-exec-conf-2.4.6:2 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 >dev-lang/tcl-8.6.13-r1:0/8.6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug threads >dev-libs/boehm-gc-8.2.2-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cxx large -static-libs threads >dev-libs/elfutils-0.189-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 -lzma nls -static-libs -test utils -verify-sig -zstd >dev-libs/expat-2.5.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -examples -static-libs unicode >dev-libs/glib-2.76.2:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -dbus debug elf -gtk-doc mime -selinux -static-libs -sysprof -systemtap -test -utils xattr >dev-libs/gmp-6.2.1-r5:0/10.4 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm cpudetection cxx -doc -pic -static-libs >dev-libs/gobject-introspection-1.76.1:0 -doctool -gtk-doc -python_single_target_python3_10 python_single_target_python3_11 -test >dev-libs/gobject-introspection-common-1.76.1:0 >dev-libs/isl-0.24-r2:0/23 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs >dev-libs/jsoncpp-1.9.5:0/25 -doc -test >dev-libs/libassuan-2.5.5:0 >dev-libs/libatomic_ops-7.8.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 >dev-libs/libbsd-0.11.7-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -verify-sig >dev-libs/libevent-2.1.12-r1:0/2.1-7 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 clock-gettime debug -malloc-replacement ssl -static-libs -test -verbose-debug >dev-libs/libffi-3.4.4-r1:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug -exec-static-trampoline -pax-kernel -static-libs -test >dev-libs/libgcrypt-1.10.2:0/20 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm -cpu_flags_arm_aes -cpu_flags_arm_neon -cpu_flags_arm_sha1 -cpu_flags_arm_sha2 -cpu_flags_ppc_altivec -cpu_flags_ppc_vsx2 -cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 -cpu_flags_x86_padlock -cpu_flags_x86_sha cpu_flags_x86_sse4_1 -doc getentropy -static-libs -verify-sig >dev-libs/libgpg-error-1.47:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -common-lisp nls -static-libs -test -verify-sig >dev-libs/libksba-1.6.3:0 -static-libs -verify-sig >dev-libs/libltdl-2.4.7-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs >dev-libs/libpcre2-10.42-r1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 -jit -libedit pcre16 pcre32 readline split-usr -static-libs unicode -valgrind -verify-sig zlib >dev-libs/libpipeline-1.5.7:0 -test >dev-libs/libtasn1-4.19.0:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -test -verify-sig >dev-libs/libunistring-1.1-r1:0/5 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -static-libs >dev-libs/libuv-1.44.2-r1:0/1 >dev-libs/libxml2-2.11.4:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug -examples ftp -icu -lzma python python_targets_python3_10 python_targets_python3_11 readline -static-libs -test >dev-libs/libxslt-1.1.38:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 crypt debug -examples -python python_targets_python3_10 python_targets_python3_11 -static-libs >dev-libs/lzo-2.10:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -examples split-usr -static-libs >dev-libs/mpc-1.3.1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs >dev-libs/mpfr-4.2.0_p9:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -verify-sig >dev-libs/nettle-3.9:0/8-6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm -cpu_flags_arm_aes -cpu_flags_arm_neon -cpu_flags_arm_sha1 -cpu_flags_arm_sha2 -cpu_flags_ppc_altivec cpu_flags_x86_aes cpu_flags_x86_pclmul -cpu_flags_x86_sha -doc gmp -static-libs -verify-sig >dev-libs/npth-1.6-r1:0 -test >dev-libs/openssl-3.0.8-r4:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm cpu_flags_x86_sse2 -fips -ktls -rfc3779 -sctp -static-libs -test -tls-compression -vanilla -verify-sig -verify-sig -weak-ssl-ciphers >dev-libs/popt-1.19:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls -static-libs >dev-perl/Encode-Locale-1.50.0-r1:0 -test >dev-perl/File-BaseDir-0.90.0:0 -test >dev-perl/File-DesktopEntry-0.220.0-r1:0 -test >dev-perl/File-MimeInfo-0.300.0:0 -test >dev-perl/IO-Socket-SSL-2.81.0:0 -examples -idn -test >dev-perl/IPC-System-Simple-1.300.0:0 -test >dev-perl/Locale-gettext-1.70.0-r1:0 -test >dev-perl/Mozilla-CA-20999999-r1:0 -test >dev-perl/Net-SSLeay-1.920.0-r1:0 -examples -examples -minimal -test >dev-perl/URI-5.110.0:0 -test >dev-python/arrow-1.2.3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/attrs-23.1.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/autocommand-2.2.2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/calver-2022.06.26:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/certifi-3021.3.16-r3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/charset_normalizer-3.1.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/colorama-0.4.6:0 -examples -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/colorclass-2.2.2-r1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/cython-0.29.34:0 debug -doc -emacs -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/editables-0.3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/ensurepip-pip-23.1.2:0 >dev-python/ensurepip-setuptools-67.7.2:0 >dev-python/ensurepip-wheels-100:0 >dev-python/exceptiongroup-1.1.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/flit-core-3.9.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/flit_scm-1.7.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 >dev-python/fqdn-1.5.1-r2:0 -doc -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/gentoo-common-1:0 >dev-python/gpep517-13:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/hatch-fancy-pypi-readme-22.8.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/hatch-vcs-0.3.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/hatchling-1.17.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/idna-3.4:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/inflect-6.0.4:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/iniconfig-2.0.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/installer-0.7.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/isoduration-20.11.0-r1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/jaraco-context-4.3.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/jaraco-functools-3.6.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/jaraco-text-3.11.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/jinja-3.1.2:0 -doc -examples -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/jsonpointer-2.3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 >dev-python/jsonschema-4.17.3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/lark-1.1.5:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/markupsafe-2.1.2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/more-itertools-9.1.0:0 -doc -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/nspektr-0.4.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/ordered-set-4.1.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/packaging-23.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/pathspec-0.11.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/platformdirs-3.5.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/pluggy-1.0.0-r2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/poetry-core-1.6.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/pydantic-1.10.7:0 debug native-extensions -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/pyparsing-3.0.9:0 -examples -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/pypax-0.9.5-r1:0 debug -ptpax python_targets_python3_10 python_targets_python3_11 xtpax >dev-python/pyrsistent-0.19.3:0 debug -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/PySocks-1.7.1-r2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 >dev-python/pytest-7.3.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/python-dateutil-2.8.2-r1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/regex-2023.5.5:0 debug -doc -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/requests-2.30.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -socks5 -test test-rust >dev-python/rfc3339-validator-0.1.4-r1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/rfc3986-validator-0.1.1-r1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/rfc3987-1.3.8-r2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 >dev-python/setuptools-67.7.2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/setuptools-scm-7.1.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/six-1.16.0-r1:0 -doc -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/strict-rfc3339-0.7-r2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/termcolor-2.3.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/terminaltables-3.1.10-r1:0 python_targets_python3_10 python_targets_python3_11 -test >dev-python/tomli-2.0.1-r1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/trove-classifiers-2023.5.2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/typing-extensions-4.5.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/uri_template-1.2.0-r1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 >dev-python/urllib3-2.0.2-r1:0 -brotli -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test -zstd >dev-python/webcolors-1.13:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-python/wheel-0.40.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test >dev-util/checkbashisms-2.22.2:0 >dev-util/cmake-3.26.4-r1:0 -doc -emacs ncurses -qt5 -test -test -verify-sig >dev-util/desktop-file-utils-0.26-r2:0 -emacs >dev-util/glib-utils-2.76.2:0 -python_single_target_python3_10 python_single_target_python3_11 >dev-util/gperf-3.1-r1:0 >dev-util/gtk-doc-am-1.33.2:0 >dev-util/meson-1.1.0:0 python_targets_python3_10 python_targets_python3_11 -test >dev-util/meson-format-array-0:0 python_targets_python3_10 python_targets_python3_11 >dev-util/ninja-1.11.1-r2:0 -doc -emacs -test >dev-util/pkgconf-1.8.1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -test >dev-util/re2c-2.2:0 debug -test >dev-vcs/git-2.40.1:0 blksha1 -cgi curl -cvs -doc gpg -highlight iconv -keyring -mediawiki nls pcre -perforce -perl -python_single_target_python3_10 python_single_target_python3_11 safe-directory -selinux -subversion -test -tk webdav -xinetd >media-fonts/liberation-fonts-2.1.5:0 -X -X -fontforge >media-gfx/graphite2-1.3.14_p20210810-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -perl -test >media-libs/fontconfig-2.14.2-r2:1.0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc nls -test >media-libs/freetype-2.13.0:2 -X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 adobe-cff -brotli bzip2 cleartype-hinting debug -doc -fontforge harfbuzz -infinality png -static-libs -svg -utils >media-libs/harfbuzz-7.3.0:0/6.0.0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 cairo debug -doc -experimental glib graphite -icu introspection -test truetype >media-libs/libpng-1.6.39:0/16 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -apng -cpu_flags_arm_neon cpu_flags_x86_sse -static-libs >net-dns/c-ares-1.19.0:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -test -verify-sig >net-dns/libidn2-2.3.4:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls -static-libs -verify-sig >net-firewall/iptables-1.8.9:0/1.8.3 -conntrack -netlink -nftables -pcap split-usr -static-libs >net-libs/gnutls-3.8.0:0/30.30 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -brotli cxx -dane -doc -examples idn nls openssl -pkcs11 seccomp -sslv2 -sslv3 -static-libs -test -test-full tls-heartbeat -tools -verify-sig zlib -zstd >net-libs/libmnl-1.0.5:0/0.2.0 -examples -verify-sig >net-libs/nghttp2-1.52.0:0/1.14 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug -hpack-tools -jemalloc -static-libs -systemd -test -utils -xml >net-misc/curl-8.1.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 adns -alt-svc -brotli -curl_ssl_gnutls -curl_ssl_mbedtls -curl_ssl_nss curl_ssl_openssl -curl_ssl_rustls ftp -gnutls -gopher -hsts http2 -idn imap -kerberos -ldap -mbedtls -nghttp3 -nss openssl pop3 progress-meter -rtmp -rustls -samba smtp -ssh ssl -sslv3 -static-libs -telnet -test tftp -verify-sig -websockets -zstd >net-misc/dhcpcd-10.0.1:0 debug embedded ipv6 -privsep udev >net-misc/iputils-20221126-r1:0 arping -caps -clockdiff -doc filecaps -idn nls -test -tracepath >net-misc/netifrc-0.7.4:0 dhcp >net-misc/openssh-9.3_p1-r1:0 -X -abi_mips_n32 -audit -debug -kerberos -ldns -libedit -livecd pam pie -security-key -selinux ssl -static -test -verify-sig -xmss >net-misc/rsync-3.2.7-r2:0 acl -examples iconv -lz4 -python_single_target_python3_10 python_single_target_python3_11 -rrsync ssl -stunnel -system-zlib -verify-sig xattr -xxhash -zstd >net-misc/wget-1.21.4:0 -cookie-check debug -gnutls -idn ipv6 -metalink nls -ntlm pcre ssl -static -test -uuid -verify-sig zlib >perl-core/File-Temp-0.231.100:0 >sec-keys/openpgp-keys-gentoo-release-20230329:0 -test >sys-apps/acl-2.3.1-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls split-usr -static-libs >sys-apps/attr-2.5.1-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug nls split-usr -static-libs >sys-apps/baselayout-2.13-r1:0 -build split-usr >sys-apps/coreutils-9.3-r1:0 acl -caps -gmp -hostname -kill -multicall nls openssl -selinux split-usr -static -test -vanilla -verify-sig xattr >sys-apps/dbus-1.15.4-r1:0 -X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug -doc elogind -selinux -static-libs -systemd -test -test -valgrind >sys-apps/debianutils-5.7:0 installkernel -static >sys-apps/diffutils-3.9-r1:0 nls -verify-sig >sys-apps/elfix-0.9.5:0 -ptpax xtpax >sys-apps/file-5.44-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 -lzip -lzma -python python_targets_python3_10 python_targets_python3_11 -seccomp -static-libs -verify-sig zlib -zstd >sys-apps/findutils-4.9.0-r2:0 nls -selinux -static -test -verify-sig >sys-apps/gawk-5.2.2:0 -mpfr nls -pma readline -verify-sig >sys-apps/gentoo-functions-0.19:0 >sys-apps/grep-3.11:0 egrep-fgrep nls pcre -static -verify-sig >sys-apps/groff-1.22.4:0 -X -examples -uchardet >sys-apps/help2man-1.49.3:0 nls >sys-apps/install-xattr-0.8-r1:0 >sys-apps/iproute2-6.3.0:0 -atm -berkdb -bpf -caps -elf iptables -libbsd -minimal -nfs -selinux split-usr >sys-apps/kbd-2.5.1:0 nls pam -test >sys-apps/kmod-30-r1:0 debug -doc lzma -pkcs7 -python python_targets_python3_10 python_targets_python3_11 -static-libs tools zlib zstd >sys-apps/less-633:0 pcre >sys-apps/man-db-2.11.2:0 manpager -nls seccomp -selinux -static-libs zlib >sys-apps/miscfiles-1.5-r4:0 -minimal >sys-apps/net-tools-2.10:0 arp hostname ipv6 -nis nls -plipconfig -selinux -slattach -static >sys-apps/openrc-0.47.1:0 -audit -bash debug ncurses netifrc -newnet pam -selinux -sysv-utils unicode >sys-apps/portage-3.0.47:0 -apidoc -build debug -doc -gentoo-dev ipc native-extensions -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 rsync-verify -selinux -test xattr >sys-apps/sandbox-2.30-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nnp >sys-apps/sed-4.9:0 acl nls -selinux -static -verify-sig >sys-apps/shadow-4.13-r3:0/4 acl -audit -bcrypt -cracklib nls pam -selinux -skey split-usr -su -verify-sig xattr >sys-apps/systemd-utils-252.9:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl -boot kmod -selinux split-usr -split-usr -sysusers -test tmpfiles udev >sys-apps/sysvinit-3.07:0 -ibm -nls -selinux -static -verify-sig >sys-apps/texinfo-7.0.3:0 nls standalone -static >sys-apps/util-linux-2.38.1-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -audit -build -caps cramfs -cryptsetup -fdformat hardlink -kill logger -magic ncurses -nls pam -python python_targets_python3_10 python_targets_python3_11 readline -rtas -selinux -slang split-usr -static-libs su suid -systemd -test -tty-helpers -udev unicode -verify-sig >sys-apps/which-2.21:0 >sys-auth/elogind-246.10-r3:0 acl -audit cgroup-hybrid debug -doc pam -policykit -selinux -test >sys-auth/pambase-20220214:0 -caps -debug elogind -gnome-keyring -homed -minimal -mktemp nullok -pam_krb5 -pam_ssh passwdqc -pwhistory -pwquality -securetty -selinux sha512 -systemd -yescrypt >sys-auth/passwdqc-2.0.2-r1:0 >sys-devel/autoconf-2.71-r6:2.71 -emacs >sys-devel/autoconf-archive-2023.02.20:0 >sys-devel/autoconf-wrapper-20221207-r1:0 >sys-devel/automake-1.16.5-r1:1.16 -test >sys-devel/automake-wrapper-20221207:0 >sys-devel/bc-1.07.1-r6:0 -libedit readline -static >sys-devel/binutils-2.40-r5:2.40 cet -doc -gold -gprofng -multitarget nls -pgo plugins -static-libs -test -vanilla -zstd >sys-devel/binutils-config-5.5:0 native-symlinks >sys-devel/bison-3.8.2-r2:0 -examples nls -static -test -verify-sig >sys-devel/flex-2.6.4-r6:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls -static -test >sys-devel/gcc-13.1.1_p20230513:13 -ada cet -custom-cflags cxx -d -debug default-stack-clash-protection default-znow -doc -fixed-point fortran -go graphite hardened -ieee-long-double -jit -libssp lto -modula2 -multilib -nls nptl -objc -objc++ -objc-gc openmp -pch -pgo pie -sanitize ssp -systemtap -test -valgrind -vanilla -vtv -zstd >sys-devel/gcc-config-2.11:0 cc-wrappers native-symlinks >sys-devel/gettext-0.21.1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl cxx -doc -emacs -git -java -java ncurses -nls openmp -static-libs -verify-sig >sys-devel/gnuconfig-20230121:0 >sys-devel/libtool-2.4.7-r1:2 -vanilla >sys-devel/m4-1.4.19-r1:0 -examples nls -verify-sig >sys-devel/make-4.4.1:0 -guile nls -static -verify-sig >sys-devel/patch-2.7.6-r5:0 -static -test -verify-sig xattr >sys-fs/e2fsprogs-1.47.0-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cron -fuse -nls split-usr -static-libs -test tools >sys-fs/udev-init-scripts-35:0 >sys-kernel/dracut-059:0 -selinux -test >sys-kernel/gentoo-kernel-bin-6.3.3:6.3.3 initramfs -test >sys-kernel/installkernel-gentoo-7:0 -grub >sys-kernel/linux-headers-6.3:0 -headers-only >sys-libs/argp-standalone-1.5.0:0 -static-libs >sys-libs/fts-standalone-1.2.7:0 -static-libs >sys-libs/gdbm-1.23:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 berkdb nls readline -static-libs -test -verify-sig >sys-libs/libcap-2.69:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 pam split-usr -static-libs -tools >sys-libs/libseccomp-2.5.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -experimental-loong -python python_targets_python3_10 python_targets_python3_11 -static-libs -test >sys-libs/libxcrypt-4.4.33:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 compat -headers-only split-usr -static-libs system -test >sys-libs/musl-1.2.4:0 -crypt -headers-only split-usr -verify-sig >sys-libs/ncurses-6.4_p20230401:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -ada cxx debug -doc -gpm -minimal -profile split-usr -split-usr -stack-realign -static-libs -test tinfo -trace -verify-sig >sys-libs/obstack-standalone-1.2.3:0 -static-libs >sys-libs/pam-1.5.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -audit -berkdb -debug -filecaps -nis -selinux split-usr >sys-libs/queue-standalone-0.1-r1:0 >sys-libs/readline-8.2_p1:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 split-usr -static-libs unicode -utils -verify-sig >sys-libs/timezone-data-2023c:0 -leaps-timezone nls -zic-slim >sys-libs/zlib-1.2.13-r1:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 minizip split-usr -static-libs -verify-sig >sys-process/procps-3.3.17-r1:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 elogind kill -modern-top ncurses nls -selinux split-usr -static-libs -systemd -test unicode >sys-process/psmisc-23.6:0 -X -apparmor nls -selinux -test >virtual/acl-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs >virtual/dev-manager-0-r2:0 >virtual/dist-kernel-6.3.3:0/6.3.3 >virtual/editor-0-r5:0 >virtual/libc-1-r1:0 >virtual/libcrypt-2-r1:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs >virtual/libelf-3-r1:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 >virtual/libiconv-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 >virtual/libintl-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 >virtual/libudev-232-r7:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -systemd >virtual/man-0-r4:0 >virtual/openssh-0:0 ssl >virtual/os-headers-0-r2:0 >virtual/package-manager-1:0 >virtual/pager-0-r1:0 >virtual/perl-Carp-1.520.0-r2:0 >virtual/perl-CPAN-2.330.0:0 >virtual/perl-Data-Dumper-2.184.0:0 >virtual/perl-Encode-3.170.0:0 >virtual/perl-Exporter-5.770.0:0 >virtual/perl-ExtUtils-MakeMaker-7.640.0:0 >virtual/perl-File-Path-2.180.0-r1:0 >virtual/perl-File-Spec-3.840.0:0 >virtual/perl-File-Temp-0.231.100:0 >virtual/perl-Getopt-Long-2.520.0-r1:0 >virtual/perl-libnet-3.140.0:0 ssl >virtual/perl-MIME-Base64-3.160.0-r1:0 >virtual/perl-parent-0.238.0-r2:0 >virtual/perl-Scalar-List-Utils-1.620.0:0 >virtual/perl-Test-Harness-3.440.0:0 >virtual/pkgconfig-2-r1:0 >virtual/service-manager-1-r1:0 >virtual/ssh-0-r2:0 -minimal >virtual/tmpfiles-0-r3:0 >virtual/ttf-fonts-1-r2:0 >virtual/udev-217-r5:0 >virtual/w3m-1:0 >www-client/pybugz-0.13-r2:0 python_targets_python3_10 python_targets_python3_11 >www-client/w3m-0.5.3_p20230121:0 -X -fbcon -gdk-pixbuf -gpm -imlib l10n_ja -lynxkeymap nls -nntp ssl unicode -xface >x11-apps/xprop-1.2.6:0 >x11-apps/xset-1.2.5:0 >x11-base/xcb-proto-1.15.2:0 python_targets_python3_10 python_targets_python3_11 >x11-base/xorg-proto-2022.2:0 -test >x11-libs/cairo-1.17.8:0 -X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -aqua -debug glib -gtk-doc -test >x11-libs/libICE-1.1.1-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 >x11-libs/libSM-1.2.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc uuid >x11-libs/libX11-1.8.4-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -test >x11-libs/libXau-1.0.11:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc >x11-libs/libxcb-1.15-r1:0/1.12 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -doc -selinux -test xkb >x11-libs/libXdmcp-1.1.4-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc >x11-libs/libXext-1.3.5:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc >x11-libs/libXmu-1.1.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc >x11-libs/libXt-1.3.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -test >x11-libs/pixman-0.42.2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cpu_flags_arm_iwmmxt -cpu_flags_arm_iwmmxt2 -cpu_flags_arm_neon -cpu_flags_ppc_altivec cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 -loongson2f -static-libs -test >x11-libs/xtrans-1.4.0:0 -doc >x11-misc/compose-tables-1.8.4-r1:0 >x11-misc/shared-mime-info-2.2:0 -test >x11-misc/xdg-utils-1.1.3_p20210805-r1:0 -dbus -doc -gnome > > >####################### ># build.log # >####################### > >>>> Unpacking source... >>>> Unpacking terminaltables-3.1.10.tar.gz to /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work >>>> Source unpacked in /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work >>>> Preparing source in /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10 ... > * Applying terminaltables-3.1.0-stdout.patch ... > [ ok ] > * Build system packages: > * dev-python/gpep517 : 13 > * dev-python/installer : 0.7.0 > * dev-python/poetry-core : 1.6.0 >>>> Source prepared. >>>> Configuring source in /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10 ... >>>> Source configured. >>>> Compiling source in /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10 ... > * python3_10: running distutils-r1_run_phase distutils-r1_python_compile > * Building the wheel for terminaltables-3.1.10 via poetry.core.masonry.api >gpep517 build-wheel --backend poetry.core.masonry.api --output-fd 3 --wheel-dir /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_10/wheel >2023-05-20 04:05:32,424 gpep517 INFO Building wheel via backend poetry.core.masonry.api >2023-05-20 04:05:32,580 poetry.core.masonry.builders.wheel INFO Building wheel >2023-05-20 04:05:32,595 poetry.core.masonry.builders.wheel INFO Built terminaltables-3.1.10-py2.py3-none-any.whl >2023-05-20 04:05:32,595 gpep517 INFO The backend produced /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_10/wheel/terminaltables-3.1.10-py2.py3-none-any.whl > * Installing terminaltables-3.1.10-py2.py3-none-any.whl to /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_10/install >gpep517 install-wheel --destdir=/var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_10/install --interpreter=/usr/bin/python3.10 --prefix=/usr --optimize=all /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_10/wheel/terminaltables-3.1.10-py2.py3-none-any.whl >2023-05-20 04:05:32,691 gpep517 INFO Installing /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_10/wheel/terminaltables-3.1.10-py2.py3-none-any.whl into /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_10/install >2023-05-20 04:05:32,716 gpep517 INFO Installation complete > * python3_11: running distutils-r1_run_phase distutils-r1_python_compile > * Building the wheel for terminaltables-3.1.10 via poetry.core.masonry.api >gpep517 build-wheel --backend poetry.core.masonry.api --output-fd 3 --wheel-dir /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_11/wheel >2023-05-20 04:05:32,936 gpep517 INFO Building wheel via backend poetry.core.masonry.api >2023-05-20 04:05:33,072 poetry.core.masonry.builders.wheel INFO Building wheel >2023-05-20 04:05:33,084 poetry.core.masonry.builders.wheel INFO Built terminaltables-3.1.10-py2.py3-none-any.whl >2023-05-20 04:05:33,085 gpep517 INFO The backend produced /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_11/wheel/terminaltables-3.1.10-py2.py3-none-any.whl > * Installing terminaltables-3.1.10-py2.py3-none-any.whl to /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_11/install >gpep517 install-wheel --destdir=/var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_11/install --interpreter=/usr/bin/python3.11 --prefix=/usr --optimize=all /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_11/wheel/terminaltables-3.1.10-py2.py3-none-any.whl >2023-05-20 04:05:33,180 gpep517 INFO Installing /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_11/wheel/terminaltables-3.1.10-py2.py3-none-any.whl into /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_11/install >2023-05-20 04:05:33,205 gpep517 INFO Installation complete >>>> Source compiled. >>>> Test phase: dev-python/terminaltables-3.1.10-r1 > * python3_10: running distutils-r1_run_phase python_test >python3.10 -m pytest -vv -ra -l -Wdefault --color=no -o console_output_style=count -p no:cov -p no:flake8 -p no:flakes -p no:pylint -p no:markdown -p no:sugar -p no:xvfb -p no:tavern >============================= test session starts ============================== >platform linux -- Python 3.10.11, pytest-7.3.1, pluggy-1.0.0 -- /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10-python3_10/install/usr/bin/python3.10 >cachedir: .pytest_cache >rootdir: /var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10 >collecting ... collected 801 items > >tests/test_ascii_table.py::test_column_max_width[table_data0-0-IndexError] PASSED [ 1/801] >tests/test_ascii_table.py::test_column_max_width[table_data1-0-IndexError] PASSED [ 2/801] >tests/test_ascii_table.py::test_column_max_width[table_data2-1-IndexError] PASSED [ 3/801] >tests/test_ascii_table.py::test_column_max_width[table_data3-0-55] PASSED [ 4/801] >tests/test_ascii_table.py::test_column_max_width[table_data4-1-53] PASSED [ 5/801] >tests/test_ascii_table.py::test_column_max_width[table_data5-2-57] PASSED [ 6/801] >tests/test_ascii_table.py::test_column_max_width[table_data6-0--11] PASSED [ 7/801] >tests/test_ascii_table.py::test_column_max_width[table_data7-1-62] PASSED [ 8/801] >tests/test_ascii_table.py::test_column_widths PASSED [ 9/801] >tests/test_ascii_table.py::test_ok[table_data0-None-True] PASSED [ 10/801] >tests/test_ascii_table.py::test_ok[table_data1-None-True] PASSED [ 11/801] >tests/test_ascii_table.py::test_ok[table_data2-None-True] PASSED [ 12/801] >tests/test_ascii_table.py::test_ok[table_data3-None-True] PASSED [ 13/801] >tests/test_ascii_table.py::test_ok[table_data4-30-False] PASSED [ 14/801] >tests/test_ascii_table.py::test_ok[table_data5-None-False] PASSED [ 15/801] >tests/test_ascii_table.py::test_ok[table_data6-100-True] PASSED [ 16/801] >tests/test_ascii_table.py::test_table_width[table_data0-2] PASSED [ 17/801] >tests/test_ascii_table.py::test_table_width[table_data1-2] PASSED [ 18/801] >tests/test_ascii_table.py::test_table_width[table_data2-4] PASSED [ 19/801] >tests/test_ascii_table.py::test_table_width[table_data3-5] PASSED [ 20/801] >tests/test_ascii_table.py::test_table_width[table_data4-31] PASSED [ 21/801] >tests/test_ascii_table.py::test_table_width[table_data5-100] PASSED [ 22/801] >tests/test_examples.py::test[example1.py] PASSED [ 23/801] >tests/test_examples.py::test[example2.py] PASSED [ 24/801] >tests/test_examples.py::test[example3.py] PASSED [ 25/801] >tests/test_all_tables_e2e/test_ascii_table.py::test_single_line PASSED [ 26/801] >tests/test_all_tables_e2e/test_ascii_table.py::test_multi_line PASSED [ 27/801] >tests/test_all_tables_e2e/test_ascii_table.py::test_windows_screenshot SKIPPED (condition: True) [ 28/801] >tests/test_all_tables_e2e/test_double_table.py::test_single_line PASSED [ 29/801] >tests/test_all_tables_e2e/test_double_table.py::test_multi_line PASSED [ 30/801] >tests/test_all_tables_e2e/test_double_table.py::test_windows_screenshot SKIPPED (condition: True) [ 31/801] >tests/test_all_tables_e2e/test_github_table.py::test_single_line PASSED [ 32/801] >tests/test_all_tables_e2e/test_github_table.py::test_multi_line PASSED [ 33/801] >tests/test_all_tables_e2e/test_porcelain_table.py::test_single_line PASSED [ 34/801] >tests/test_all_tables_e2e/test_porcelain_table.py::test_multi_line PASSED [ 35/801] >tests/test_all_tables_e2e/test_single_table.py::test_single_line PASSED [ 36/801] >tests/test_all_tables_e2e/test_single_table.py::test_multi_line PASSED [ 37/801] >tests/test_all_tables_e2e/test_single_table_windows.py::test_single_line SKIPPED (condition: True) [ 38/801] >tests/test_all_tables_e2e/test_single_table_windows.py::test_multi_line SKIPPED (condition: True) [ 39/801] >tests/test_all_tables_e2e/test_single_table_windows.py::test_windows_screenshot SKIPPED (condition: True) [ 40/801] >tests/test_base_table/test_gen_row_lines.py::test_single_line[heading] PASSED [ 41/801] >tests/test_base_table/test_gen_row_lines.py::test_single_line[footing] PASSED [ 42/801] >tests/test_base_table/test_gen_row_lines.py::test_single_line[row] PASSED [ 43/801] >tests/test_base_table/test_gen_row_lines.py::test_multi_line[heading] PASSED [ 44/801] >tests/test_base_table/test_gen_row_lines.py::test_multi_line[footing] PASSED [ 45/801] >tests/test_base_table/test_gen_row_lines.py::test_multi_line[row] PASSED [ 46/801] >tests/test_base_table/test_gen_row_lines.py::test_no_padding_no_borders[heading] PASSED [ 47/801] >tests/test_base_table/test_gen_row_lines.py::test_no_padding_no_borders[footing] PASSED [ 48/801] >tests/test_base_table/test_gen_row_lines.py::test_no_padding_no_borders[row] PASSED [ 49/801] >tests/test_base_table/test_gen_row_lines.py::test_uneven[heading] PASSED [ 50/801] >tests/test_base_table/test_gen_row_lines.py::test_uneven[footing] PASSED [ 51/801] >tests/test_base_table/test_gen_row_lines.py::test_uneven[row] PASSED [ 52/801] >tests/test_base_table/test_gen_row_lines.py::test_empty_table[heading] PASSED [ 53/801] >tests/test_base_table/test_gen_row_lines.py::test_empty_table[footing] PASSED [ 54/801] >tests/test_base_table/test_gen_row_lines.py::test_empty_table[row] PASSED [ 55/801] >tests/test_base_table/test_gen_table.py::test_inner_row_borders[True-True-True] PASSED [ 56/801] >tests/test_base_table/test_gen_table.py::test_inner_row_borders[True-True-False] PASSED [ 57/801] >tests/test_base_table/test_gen_table.py::test_inner_row_borders[True-False-True] PASSED [ 58/801] >tests/test_base_table/test_gen_table.py::test_inner_row_borders[True-False-False] PASSED [ 59/801] >tests/test_base_table/test_gen_table.py::test_inner_row_borders[False-True-True] PASSED [ 60/801] >tests/test_base_table/test_gen_table.py::test_inner_row_borders[False-True-False] PASSED [ 61/801] >tests/test_base_table/test_gen_table.py::test_inner_row_borders[False-False-True] PASSED [ 62/801] >tests/test_base_table/test_gen_table.py::test_inner_row_borders[False-False-False] PASSED [ 63/801] >tests/test_base_table/test_gen_table.py::test_outer_borders[True] PASSED [ 64/801] >tests/test_base_table/test_gen_table.py::test_outer_borders[False] PASSED [ 65/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[False-row] PASSED [ 66/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[False-one] PASSED [ 67/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[False-blank] PASSED [ 68/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[False-empty] PASSED [ 69/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[False-none] PASSED [ 70/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[True-row] PASSED [ 71/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[True-one] PASSED [ 72/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[True-blank] PASSED [ 73/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[True-empty] PASSED [ 74/801] >tests/test_base_table/test_gen_table.py::test_one_no_rows[True-none] PASSED [ 75/801] >tests/test_base_table/test_horizontal_border.py::test_top_bottom[top-True] PASSED [ 76/801] >tests/test_base_table/test_horizontal_border.py::test_top_bottom[top-False] PASSED [ 77/801] >tests/test_base_table/test_horizontal_border.py::test_top_bottom[bottom-True] PASSED [ 78/801] >tests/test_base_table/test_horizontal_border.py::test_top_bottom[bottom-False] PASSED [ 79/801] >tests/test_base_table/test_horizontal_border.py::test_heading_footing[heading-True-True] PASSED [ 80/801] >tests/test_base_table/test_horizontal_border.py::test_heading_footing[heading-True-False] PASSED [ 81/801] >tests/test_base_table/test_horizontal_border.py::test_heading_footing[heading-False-True] PASSED [ 82/801] >tests/test_base_table/test_horizontal_border.py::test_heading_footing[heading-False-False] PASSED [ 83/801] >tests/test_base_table/test_horizontal_border.py::test_heading_footing[footing-True-True] PASSED [ 84/801] >tests/test_base_table/test_horizontal_border.py::test_heading_footing[footing-True-False] PASSED [ 85/801] >tests/test_base_table/test_horizontal_border.py::test_heading_footing[footing-False-True] PASSED [ 86/801] >tests/test_base_table/test_horizontal_border.py::test_heading_footing[footing-False-False] PASSED [ 87/801] >tests/test_base_table/test_horizontal_border.py::test_row[True-True] PASSED [ 88/801] >tests/test_base_table/test_horizontal_border.py::test_row[True-False] PASSED [ 89/801] >tests/test_base_table/test_horizontal_border.py::test_row[False-True] PASSED [ 90/801] >tests/test_base_table/test_horizontal_border.py::test_row[False-False] PASSED [ 91/801] >tests/test_base_table/test_table.py::test_ascii PASSED [ 92/801] >tests/test_base_table/test_table.py::test_int PASSED [ 93/801] >tests/test_base_table/test_table.py::test_float PASSED [ 94/801] >tests/test_base_table/test_table.py::test_bool_none PASSED [ 95/801] >tests/test_base_table/test_table.py::test_cjk PASSED [ 96/801] >tests/test_base_table/test_table.py::test_rtl PASSED [ 97/801] >tests/test_base_table/test_table.py::test_rtl_large PASSED [ 98/801] >tests/test_base_table/test_table.py::test_color FAILED [ 99/801] >tests/test_build/test_build_border.py::test_no_title[outer_widths0---<-+->-<-----+------+------->] PASSED [100/801] >tests/test_build/test_build_border.py::test_no_title[outer_widths1---------] PASSED [101/801] >tests/test_build/test_build_border.py::test_no_title[outer_widths2-----] PASSED [102/801] >tests/test_build/test_build_border.py::test_no_title[outer_widths3---<-+->-<->] PASSED [103/801] >tests/test_build/test_build_border.py::test_no_title[outer_widths4---<-+->-<>] PASSED [104/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths0-+-Applications--------] PASSED [105/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths1--Applications--------] PASSED [106/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths2-+-Applications---+-----] PASSED [107/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths3--Applications--------] PASSED [108/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths4-+-Applications] PASSED [109/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths5--Applications] PASSED [110/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths6-+-Applications+-] PASSED [111/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths7--Applications-] PASSED [112/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths8-+-Applications+] PASSED [113/801] >tests/test_build/test_build_border.py::test_first_column_fit[--outer_widths9--Applications] PASSED [114/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths0-+-Applications--------] PASSED [115/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths1--Applications--------] PASSED [116/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths2-+-Applications---+-----] PASSED [117/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths3--Applications--------] PASSED [118/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths4-+-Applications] PASSED [119/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths5--Applications] PASSED [120/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths6-+-Applications+-] PASSED [121/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths7--Applications-] PASSED [122/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths8-+-Applications+] PASSED [123/801] >tests/test_build/test_build_border.py::test_first_column_fit[<->-outer_widths9--Applications] PASSED [124/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths0-Applications--------] PASSED [125/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths1-Applications--------] PASSED [126/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths2-Applications--------] PASSED [127/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths3-Applications--------] PASSED [128/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths4-Applications--------] PASSED [129/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths5-Applications---] PASSED [130/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths6-Applications--] PASSED [131/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths7-Applications-] PASSED [132/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths8-Applications] PASSED [133/801] >tests/test_build/test_build_border.py::test_no_intersect[--outer_widths9------------] PASSED [134/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths0-Applications--------] PASSED [135/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths1-Applications--------] PASSED [136/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths2-Applications--------] PASSED [137/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths3-Applications--------] PASSED [138/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths4-Applications--------] PASSED [139/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths5-Applications---] PASSED [140/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths6-Applications--] PASSED [141/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths7-Applications-] PASSED [142/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths8-Applications] PASSED [143/801] >tests/test_build/test_build_border.py::test_no_intersect[<->-outer_widths9------------] PASSED [144/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths0-Applications--------] PASSED [145/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths1-Applications---------] PASSED [146/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths2-Applications--------+] PASSED [147/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths3-Applications----------] PASSED [148/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths4-Applications--------++] PASSED [149/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths5-Applications---------] PASSED [150/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths6-Applications---------] PASSED [151/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths7-Applications+--------] PASSED [152/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths8-Applications-+-------] PASSED [153/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths9-Applications-----+-----] PASSED [154/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths10-Applications----+------] PASSED [155/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths11-Applications---+-------] PASSED [156/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths12-Applications-+---------] PASSED [157/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths13-Applications-+---------] PASSED [158/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths14-Applications--+--+--] PASSED [159/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths15-Applications-+-+-+-] PASSED [160/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths16-Applications++++++++] PASSED [161/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths17---+--+--+--] PASSED [162/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths18--+-+-+-+-] PASSED [163/801] >tests/test_build/test_build_border.py::test_intersect[--outer_widths19-+++++++++] PASSED [164/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths0-Applications--------] PASSED [165/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths1-Applications---------] PASSED [166/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths2-Applications--------+] PASSED [167/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths3-Applications----------] PASSED [168/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths4-Applications--------++] PASSED [169/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths5-Applications---------] PASSED [170/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths6-Applications---------] PASSED [171/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths7-Applications+--------] PASSED [172/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths8-Applications-+-------] PASSED [173/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths9-Applications-----+-----] PASSED [174/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths10-Applications----+------] PASSED [175/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths11-Applications---+-------] PASSED [176/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths12-Applications-+---------] PASSED [177/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths13-Applications-+---------] PASSED [178/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths14-Applications--+--+--] PASSED [179/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths15-Applications-+-+-+-] PASSED [180/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths16-Applications++++++++] PASSED [181/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths17---+--+--+--] PASSED [182/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths18--+-+-+-+-] PASSED [183/801] >tests/test_build/test_build_border.py::test_intersect[<->-outer_widths19-+++++++++] PASSED [184/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths0-+-\u84dd\u8272--------] PASSED [185/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths1--\u84dd\u8272--------] PASSED [186/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths2-+-\u84dd\u8272---+-----] PASSED [187/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths3--\u84dd\u8272--------] PASSED [188/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths4-+-\u84dd\u8272] PASSED [189/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths5--\u84dd\u8272] PASSED [190/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths6-+-\u84dd\u8272+-] PASSED [191/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths7--\u84dd\u8272-] PASSED [192/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths8-+-\u84dd\u8272+] PASSED [193/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths9--\u84dd\u8272] PASSED [194/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths10--\u84dd\u8272--------] PASSED [195/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths11--\u84dd\u8272--------] PASSED [196/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths12--\u84dd\u8272--------] PASSED [197/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths13--\u84dd\u8272--------] PASSED [198/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths14--\u84dd\u8272--------] PASSED [199/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths15--\u84dd\u8272--] PASSED [200/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths16--\u84dd\u8272-] PASSED [201/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths17--\u84dd\u8272] PASSED [202/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths18-----] PASSED [203/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths19----] PASSED [204/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths20-+-\u84dd\u8272--------] PASSED [205/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths21-+-\u84dd\u8272---------] PASSED [206/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths22-+-\u84dd\u8272--------+] PASSED [207/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths23-+-\u84dd\u8272----------] PASSED [208/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths24-+-\u84dd\u8272--------++] PASSED [209/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths25-+-\u84dd\u8272---] PASSED [210/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths26-+-\u84dd\u8272+--] PASSED [211/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths27-+-\u84dd\u8272-+-] PASSED [212/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths28-+-\u84dd\u8272---+---+---] PASSED [213/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths29-+-\u84dd\u8272-+----+----] PASSED [214/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths30-+-\u84dd\u8272-----+-----] PASSED [215/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths31-+-\u84dd\u8272-+--+--] PASSED [216/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths32-+-\u84dd\u8272-+-+-] PASSED [217/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths33-+-\u84dd\u8272++] PASSED [218/801] >tests/test_build/test_build_border.py::test_cjk[--outer_widths34-+--+-] PASSED [219/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths0-+-\u84dd\u8272--------] PASSED [220/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths1--\u84dd\u8272--------] PASSED [221/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths2-+-\u84dd\u8272---+-----] PASSED [222/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths3--\u84dd\u8272--------] PASSED [223/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths4-+-\u84dd\u8272] PASSED [224/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths5--\u84dd\u8272] PASSED [225/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths6-+-\u84dd\u8272+-] PASSED [226/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths7--\u84dd\u8272-] PASSED [227/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths8-+-\u84dd\u8272+] PASSED [228/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths9--\u84dd\u8272] PASSED [229/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths10--\u84dd\u8272--------] PASSED [230/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths11--\u84dd\u8272--------] PASSED [231/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths12--\u84dd\u8272--------] PASSED [232/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths13--\u84dd\u8272--------] PASSED [233/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths14--\u84dd\u8272--------] PASSED [234/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths15--\u84dd\u8272--] PASSED [235/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths16--\u84dd\u8272-] PASSED [236/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths17--\u84dd\u8272] PASSED [237/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths18-----] PASSED [238/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths19----] PASSED [239/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths20-+-\u84dd\u8272--------] PASSED [240/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths21-+-\u84dd\u8272---------] PASSED [241/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths22-+-\u84dd\u8272--------+] PASSED [242/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths23-+-\u84dd\u8272----------] PASSED [243/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths24-+-\u84dd\u8272--------++] PASSED [244/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths25-+-\u84dd\u8272---] PASSED [245/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths26-+-\u84dd\u8272+--] PASSED [246/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths27-+-\u84dd\u8272-+-] PASSED [247/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths28-+-\u84dd\u8272---+---+---] PASSED [248/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths29-+-\u84dd\u8272-+----+----] PASSED [249/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths30-+-\u84dd\u8272-----+-----] PASSED [250/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths31-+-\u84dd\u8272-+--+--] PASSED [251/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths32-+-\u84dd\u8272-+-+-] PASSED [252/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths33-+-\u84dd\u8272++] PASSED [253/801] >tests/test_build/test_build_border.py::test_cjk[<->-outer_widths34-+--+-] PASSED [254/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths0-+-\u0645\u0639\u0631\u0628--------] PASSED [255/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths1--\u0645\u0639\u0631\u0628--------] PASSED [256/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths2-+-\u0645\u0639\u0631\u0628---+-----] PASSED [257/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths3--\u0645\u0639\u0631\u0628--------] PASSED [258/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths4-+-\u0645\u0639\u0631\u0628] PASSED [259/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths5--\u0645\u0639\u0631\u0628] PASSED [260/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths6-+-\u0645\u0639\u0631\u0628+-] PASSED [261/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths7--\u0645\u0639\u0631\u0628-] PASSED [262/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths8-+-\u0645\u0639\u0631\u0628+] PASSED [263/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths9--\u0645\u0639\u0631\u0628] PASSED [264/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths10--\u0645\u0639\u0631\u0628--------] PASSED [265/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths11--\u0645\u0639\u0631\u0628--------] PASSED [266/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths12--\u0645\u0639\u0631\u0628--------] PASSED [267/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths13--\u0645\u0639\u0631\u0628--------] PASSED [268/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths14--\u0645\u0639\u0631\u0628--------] PASSED [269/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths15--\u0645\u0639\u0631\u0628--] PASSED [270/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths16--\u0645\u0639\u0631\u0628-] PASSED [271/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths17--\u0645\u0639\u0631\u0628] PASSED [272/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths18-----] PASSED [273/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths19----] PASSED [274/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths20-+-\u0645\u0639\u0631\u0628--------] PASSED [275/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths21-+-\u0645\u0639\u0631\u0628---------] PASSED [276/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths22-+-\u0645\u0639\u0631\u0628--------+] PASSED [277/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths23-+-\u0645\u0639\u0631\u0628----------] PASSED [278/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths24-+-\u0645\u0639\u0631\u0628--------++] PASSED [279/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths25-+-\u0645\u0639\u0631\u0628---] PASSED [280/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths26-+-\u0645\u0639\u0631\u0628+--] PASSED [281/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths27-+-\u0645\u0639\u0631\u0628-+-] PASSED [282/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths28-+-\u0645\u0639\u0631\u0628---+---+---] PASSED [283/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths29-+-\u0645\u0639\u0631\u0628-+----+----] PASSED [284/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths30-+-\u0645\u0639\u0631\u0628-----+-----] PASSED [285/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths31-+-\u0645\u0639\u0631\u0628-+--+--] PASSED [286/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths32-+-\u0645\u0639\u0631\u0628-+-+-] PASSED [287/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths33-+-\u0645\u0639\u0631\u0628++] PASSED [288/801] >tests/test_build/test_build_border.py::test_rtl[--outer_widths34-+--+-] PASSED [289/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths0-+-\u0645\u0639\u0631\u0628--------] PASSED [290/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths1--\u0645\u0639\u0631\u0628--------] PASSED [291/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths2-+-\u0645\u0639\u0631\u0628---+-----] PASSED [292/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths3--\u0645\u0639\u0631\u0628--------] PASSED [293/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths4-+-\u0645\u0639\u0631\u0628] PASSED [294/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths5--\u0645\u0639\u0631\u0628] PASSED [295/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths6-+-\u0645\u0639\u0631\u0628+-] PASSED [296/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths7--\u0645\u0639\u0631\u0628-] PASSED [297/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths8-+-\u0645\u0639\u0631\u0628+] PASSED [298/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths9--\u0645\u0639\u0631\u0628] PASSED [299/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths10--\u0645\u0639\u0631\u0628--------] PASSED [300/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths11--\u0645\u0639\u0631\u0628--------] PASSED [301/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths12--\u0645\u0639\u0631\u0628--------] PASSED [302/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths13--\u0645\u0639\u0631\u0628--------] PASSED [303/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths14--\u0645\u0639\u0631\u0628--------] PASSED [304/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths15--\u0645\u0639\u0631\u0628--] PASSED [305/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths16--\u0645\u0639\u0631\u0628-] PASSED [306/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths17--\u0645\u0639\u0631\u0628] PASSED [307/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths18-----] PASSED [308/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths19----] PASSED [309/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths20-+-\u0645\u0639\u0631\u0628--------] PASSED [310/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths21-+-\u0645\u0639\u0631\u0628---------] PASSED [311/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths22-+-\u0645\u0639\u0631\u0628--------+] PASSED [312/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths23-+-\u0645\u0639\u0631\u0628----------] PASSED [313/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths24-+-\u0645\u0639\u0631\u0628--------++] PASSED [314/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths25-+-\u0645\u0639\u0631\u0628---] PASSED [315/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths26-+-\u0645\u0639\u0631\u0628+--] PASSED [316/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths27-+-\u0645\u0639\u0631\u0628-+-] PASSED [317/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths28-+-\u0645\u0639\u0631\u0628---+---+---] PASSED [318/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths29-+-\u0645\u0639\u0631\u0628-+----+----] PASSED [319/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths30-+-\u0645\u0639\u0631\u0628-----+-----] PASSED [320/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths31-+-\u0645\u0639\u0631\u0628-+--+--] PASSED [321/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths32-+-\u0645\u0639\u0631\u0628-+-+-] PASSED [322/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths33-+-\u0645\u0639\u0631\u0628++] PASSED [323/801] >tests/test_build/test_build_border.py::test_rtl[<->-outer_widths34-+--+-] PASSED [324/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths0-+-\x1b[34mTEST\x1b[0m--------] PASSED [325/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths1--\x1b[34mTEST\x1b[0m--------] PASSED [326/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] PASSED [327/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths3--\x1b[34mTEST\x1b[0m--------] PASSED [328/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths4-+-\x1b[34mTEST\x1b[0m] PASSED [329/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths5--\x1b[34mTEST\x1b[0m] PASSED [330/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths6-+-\x1b[34mTEST\x1b[0m+-] PASSED [331/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths7--\x1b[34mTEST\x1b[0m-] PASSED [332/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths8-+-\x1b[34mTEST\x1b[0m+] PASSED [333/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths9--\x1b[34mTEST\x1b[0m] PASSED [334/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths10--\x1b[34mTEST\x1b[0m--------] PASSED [335/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths11--\x1b[34mTEST\x1b[0m--------] PASSED [336/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths12--\x1b[34mTEST\x1b[0m--------] PASSED [337/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths13--\x1b[34mTEST\x1b[0m--------] PASSED [338/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths14--\x1b[34mTEST\x1b[0m--------] PASSED [339/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths15--\x1b[34mTEST\x1b[0m--] PASSED [340/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths16--\x1b[34mTEST\x1b[0m-] PASSED [341/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths17--\x1b[34mTEST\x1b[0m] PASSED [342/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths18-----] PASSED [343/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths19-+-\x1b[34mTEST\x1b[0m--------] PASSED [344/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths20-+-\x1b[34mTEST\x1b[0m---------] PASSED [345/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] PASSED [346/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths22-+-\x1b[34mTEST\x1b[0m----------] PASSED [347/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] PASSED [348/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths24-+-\x1b[34mTEST\x1b[0m---] PASSED [349/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths25-+-\x1b[34mTEST\x1b[0m+--] PASSED [350/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] PASSED [351/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] PASSED [352/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] PASSED [353/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] PASSED [354/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] PASSED [355/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] PASSED [356/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths32-+-\x1b[34mTEST\x1b[0m++] PASSED [357/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0---outer_widths33-+--+-] PASSED [358/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths0-+-\x1b[34mTEST\x1b[0m--------] PASSED [359/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths1--\x1b[34mTEST\x1b[0m--------] PASSED [360/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] PASSED [361/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths3--\x1b[34mTEST\x1b[0m--------] PASSED [362/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths4-+-\x1b[34mTEST\x1b[0m] PASSED [363/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths5--\x1b[34mTEST\x1b[0m] PASSED [364/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths6-+-\x1b[34mTEST\x1b[0m+-] PASSED [365/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths7--\x1b[34mTEST\x1b[0m-] PASSED [366/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths8-+-\x1b[34mTEST\x1b[0m+] PASSED [367/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths9--\x1b[34mTEST\x1b[0m] PASSED [368/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths10--\x1b[34mTEST\x1b[0m--------] PASSED [369/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths11--\x1b[34mTEST\x1b[0m--------] PASSED [370/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths12--\x1b[34mTEST\x1b[0m--------] PASSED [371/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths13--\x1b[34mTEST\x1b[0m--------] PASSED [372/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths14--\x1b[34mTEST\x1b[0m--------] PASSED [373/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths15--\x1b[34mTEST\x1b[0m--] PASSED [374/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths16--\x1b[34mTEST\x1b[0m-] PASSED [375/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths17--\x1b[34mTEST\x1b[0m] PASSED [376/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths18-----] PASSED [377/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths19-+-\x1b[34mTEST\x1b[0m--------] PASSED [378/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths20-+-\x1b[34mTEST\x1b[0m---------] PASSED [379/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] PASSED [380/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths22-+-\x1b[34mTEST\x1b[0m----------] PASSED [381/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] PASSED [382/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths24-+-\x1b[34mTEST\x1b[0m---] PASSED [383/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths25-+-\x1b[34mTEST\x1b[0m+--] PASSED [384/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] PASSED [385/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] PASSED [386/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] PASSED [387/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] PASSED [388/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] PASSED [389/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] PASSED [390/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths32-+-\x1b[34mTEST\x1b[0m++] PASSED [391/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m0-<->-outer_widths33-+--+-] PASSED [392/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths0-+-\x1b[34mTEST\x1b[0m--------] PASSED [393/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths1--\x1b[34mTEST\x1b[0m--------] PASSED [394/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] PASSED [395/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths3--\x1b[34mTEST\x1b[0m--------] PASSED [396/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths4-+-\x1b[34mTEST\x1b[0m] PASSED [397/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths5--\x1b[34mTEST\x1b[0m] PASSED [398/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths6-+-\x1b[34mTEST\x1b[0m+-] PASSED [399/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths7--\x1b[34mTEST\x1b[0m-] PASSED [400/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths8-+-\x1b[34mTEST\x1b[0m+] PASSED [401/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths9--\x1b[34mTEST\x1b[0m] PASSED [402/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths10--\x1b[34mTEST\x1b[0m--------] PASSED [403/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths11--\x1b[34mTEST\x1b[0m--------] PASSED [404/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths12--\x1b[34mTEST\x1b[0m--------] PASSED [405/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths13--\x1b[34mTEST\x1b[0m--------] PASSED [406/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths14--\x1b[34mTEST\x1b[0m--------] PASSED [407/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths15--\x1b[34mTEST\x1b[0m--] PASSED [408/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths16--\x1b[34mTEST\x1b[0m-] PASSED [409/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths17--\x1b[34mTEST\x1b[0m] PASSED [410/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths18-----] PASSED [411/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths19-+-\x1b[34mTEST\x1b[0m--------] PASSED [412/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths20-+-\x1b[34mTEST\x1b[0m---------] PASSED [413/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] PASSED [414/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths22-+-\x1b[34mTEST\x1b[0m----------] PASSED [415/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] PASSED [416/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths24-+-\x1b[34mTEST\x1b[0m---] PASSED [417/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths25-+-\x1b[34mTEST\x1b[0m+--] PASSED [418/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] PASSED [419/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] PASSED [420/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] PASSED [421/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] PASSED [422/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] PASSED [423/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] PASSED [424/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths32-+-\x1b[34mTEST\x1b[0m++] PASSED [425/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1---outer_widths33-+--+-] PASSED [426/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths0-+-\x1b[34mTEST\x1b[0m--------] PASSED [427/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths1--\x1b[34mTEST\x1b[0m--------] PASSED [428/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] PASSED [429/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths3--\x1b[34mTEST\x1b[0m--------] PASSED [430/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths4-+-\x1b[34mTEST\x1b[0m] PASSED [431/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths5--\x1b[34mTEST\x1b[0m] PASSED [432/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths6-+-\x1b[34mTEST\x1b[0m+-] PASSED [433/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths7--\x1b[34mTEST\x1b[0m-] PASSED [434/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths8-+-\x1b[34mTEST\x1b[0m+] PASSED [435/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths9--\x1b[34mTEST\x1b[0m] PASSED [436/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths10--\x1b[34mTEST\x1b[0m--------] PASSED [437/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths11--\x1b[34mTEST\x1b[0m--------] PASSED [438/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths12--\x1b[34mTEST\x1b[0m--------] PASSED [439/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths13--\x1b[34mTEST\x1b[0m--------] PASSED [440/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths14--\x1b[34mTEST\x1b[0m--------] PASSED [441/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths15--\x1b[34mTEST\x1b[0m--] PASSED [442/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths16--\x1b[34mTEST\x1b[0m-] PASSED [443/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths17--\x1b[34mTEST\x1b[0m] PASSED [444/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths18-----] PASSED [445/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths19-+-\x1b[34mTEST\x1b[0m--------] PASSED [446/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths20-+-\x1b[34mTEST\x1b[0m---------] PASSED [447/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] PASSED [448/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths22-+-\x1b[34mTEST\x1b[0m----------] PASSED [449/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] PASSED [450/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths24-+-\x1b[34mTEST\x1b[0m---] PASSED [451/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths25-+-\x1b[34mTEST\x1b[0m+--] PASSED [452/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] PASSED [453/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] PASSED [454/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] PASSED [455/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] PASSED [456/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] PASSED [457/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] PASSED [458/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths32-+-\x1b[34mTEST\x1b[0m++] PASSED [459/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m1-<->-outer_widths33-+--+-] PASSED [460/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths0-+-\x1b[34mTEST\x1b[0m--------] PASSED [461/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths1--\x1b[34mTEST\x1b[0m--------] PASSED [462/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] PASSED [463/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths3--\x1b[34mTEST\x1b[0m--------] PASSED [464/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths4-+-\x1b[34mTEST\x1b[0m] PASSED [465/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths5--\x1b[34mTEST\x1b[0m] PASSED [466/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths6-+-\x1b[34mTEST\x1b[0m+-] PASSED [467/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths7--\x1b[34mTEST\x1b[0m-] PASSED [468/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths8-+-\x1b[34mTEST\x1b[0m+] PASSED [469/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths9--\x1b[34mTEST\x1b[0m] PASSED [470/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths10--\x1b[34mTEST\x1b[0m--------] PASSED [471/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths11--\x1b[34mTEST\x1b[0m--------] PASSED [472/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths12--\x1b[34mTEST\x1b[0m--------] PASSED [473/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths13--\x1b[34mTEST\x1b[0m--------] PASSED [474/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths14--\x1b[34mTEST\x1b[0m--------] PASSED [475/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths15--\x1b[34mTEST\x1b[0m--] PASSED [476/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths16--\x1b[34mTEST\x1b[0m-] PASSED [477/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths17--\x1b[34mTEST\x1b[0m] PASSED [478/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths18-----] PASSED [479/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths19-+-\x1b[34mTEST\x1b[0m--------] PASSED [480/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths20-+-\x1b[34mTEST\x1b[0m---------] PASSED [481/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] PASSED [482/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths22-+-\x1b[34mTEST\x1b[0m----------] PASSED [483/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] PASSED [484/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths24-+-\x1b[34mTEST\x1b[0m---] PASSED [485/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths25-+-\x1b[34mTEST\x1b[0m+--] PASSED [486/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] PASSED [487/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] PASSED [488/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] PASSED [489/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] PASSED [490/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] PASSED [491/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] PASSED [492/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths32-+-\x1b[34mTEST\x1b[0m++] PASSED [493/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2---outer_widths33-+--+-] PASSED [494/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths0-+-\x1b[34mTEST\x1b[0m--------] PASSED [495/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths1--\x1b[34mTEST\x1b[0m--------] PASSED [496/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] PASSED [497/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths3--\x1b[34mTEST\x1b[0m--------] PASSED [498/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths4-+-\x1b[34mTEST\x1b[0m] PASSED [499/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths5--\x1b[34mTEST\x1b[0m] PASSED [500/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths6-+-\x1b[34mTEST\x1b[0m+-] PASSED [501/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths7--\x1b[34mTEST\x1b[0m-] PASSED [502/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths8-+-\x1b[34mTEST\x1b[0m+] PASSED [503/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths9--\x1b[34mTEST\x1b[0m] PASSED [504/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths10--\x1b[34mTEST\x1b[0m--------] PASSED [505/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths11--\x1b[34mTEST\x1b[0m--------] PASSED [506/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths12--\x1b[34mTEST\x1b[0m--------] PASSED [507/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths13--\x1b[34mTEST\x1b[0m--------] PASSED [508/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths14--\x1b[34mTEST\x1b[0m--------] PASSED [509/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths15--\x1b[34mTEST\x1b[0m--] PASSED [510/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths16--\x1b[34mTEST\x1b[0m-] PASSED [511/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths17--\x1b[34mTEST\x1b[0m] PASSED [512/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths18-----] PASSED [513/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths19-+-\x1b[34mTEST\x1b[0m--------] PASSED [514/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths20-+-\x1b[34mTEST\x1b[0m---------] PASSED [515/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] PASSED [516/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths22-+-\x1b[34mTEST\x1b[0m----------] PASSED [517/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] PASSED [518/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths24-+-\x1b[34mTEST\x1b[0m---] PASSED [519/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths25-+-\x1b[34mTEST\x1b[0m+--] PASSED [520/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] PASSED [521/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] PASSED [522/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] PASSED [523/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] PASSED [524/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] PASSED [525/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] PASSED [526/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths32-+-\x1b[34mTEST\x1b[0m++] PASSED [527/801] >tests/test_build/test_build_border.py::test_colors[\x1b[34mTEST\x1b[0m2-<->-outer_widths33-+--+-] PASSED [528/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths0-+-\x1b[34mTEST\x1b[0m--------] FAILED [529/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths1--\x1b[34mTEST\x1b[0m--------] FAILED [530/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] FAILED [531/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths3--\x1b[34mTEST\x1b[0m--------] FAILED [532/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths4-+-\x1b[34mTEST\x1b[0m] FAILED [533/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths5--\x1b[34mTEST\x1b[0m] FAILED [534/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths6-+-\x1b[34mTEST\x1b[0m+-] FAILED [535/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths7--\x1b[34mTEST\x1b[0m-] FAILED [536/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths8-+-\x1b[34mTEST\x1b[0m+] FAILED [537/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths9--\x1b[34mTEST\x1b[0m] FAILED [538/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths10--\x1b[34mTEST\x1b[0m--------] FAILED [539/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths11--\x1b[34mTEST\x1b[0m--------] FAILED [540/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths12--\x1b[34mTEST\x1b[0m--------] FAILED [541/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths13--\x1b[34mTEST\x1b[0m--------] FAILED [542/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths14--\x1b[34mTEST\x1b[0m--------] FAILED [543/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths15--\x1b[34mTEST\x1b[0m--] FAILED [544/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths16--\x1b[34mTEST\x1b[0m-] FAILED [545/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths17--\x1b[34mTEST\x1b[0m] FAILED [546/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths18-----] PASSED [547/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths19-+-\x1b[34mTEST\x1b[0m--------] FAILED [548/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths20-+-\x1b[34mTEST\x1b[0m---------] FAILED [549/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] FAILED [550/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths22-+-\x1b[34mTEST\x1b[0m----------] FAILED [551/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] FAILED [552/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths24-+-\x1b[34mTEST\x1b[0m---] FAILED [553/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths25-+-\x1b[34mTEST\x1b[0m+--] FAILED [554/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] FAILED [555/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] FAILED [556/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] FAILED [557/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] FAILED [558/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] FAILED [559/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] FAILED [560/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths32-+-\x1b[34mTEST\x1b[0m++] FAILED [561/801] >tests/test_build/test_build_border.py::test_colors[TEST---outer_widths33-+--+-] PASSED [562/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths0-+-\x1b[34mTEST\x1b[0m--------] FAILED [563/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths1--\x1b[34mTEST\x1b[0m--------] FAILED [564/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] FAILED [565/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths3--\x1b[34mTEST\x1b[0m--------] FAILED [566/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths4-+-\x1b[34mTEST\x1b[0m] FAILED [567/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths5--\x1b[34mTEST\x1b[0m] FAILED [568/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths6-+-\x1b[34mTEST\x1b[0m+-] FAILED [569/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths7--\x1b[34mTEST\x1b[0m-] FAILED [570/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths8-+-\x1b[34mTEST\x1b[0m+] FAILED [571/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths9--\x1b[34mTEST\x1b[0m] FAILED [572/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths10--\x1b[34mTEST\x1b[0m--------] FAILED [573/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths11--\x1b[34mTEST\x1b[0m--------] FAILED [574/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths12--\x1b[34mTEST\x1b[0m--------] FAILED [575/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths13--\x1b[34mTEST\x1b[0m--------] FAILED [576/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths14--\x1b[34mTEST\x1b[0m--------] FAILED [577/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths15--\x1b[34mTEST\x1b[0m--] FAILED [578/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths16--\x1b[34mTEST\x1b[0m-] FAILED [579/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths17--\x1b[34mTEST\x1b[0m] FAILED [580/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths18-----] PASSED [581/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths19-+-\x1b[34mTEST\x1b[0m--------] FAILED [582/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths20-+-\x1b[34mTEST\x1b[0m---------] FAILED [583/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] FAILED [584/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths22-+-\x1b[34mTEST\x1b[0m----------] FAILED [585/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] FAILED [586/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths24-+-\x1b[34mTEST\x1b[0m---] FAILED [587/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths25-+-\x1b[34mTEST\x1b[0m+--] FAILED [588/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] FAILED [589/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] FAILED [590/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] FAILED [591/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] FAILED [592/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] FAILED [593/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] FAILED [594/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths32-+-\x1b[34mTEST\x1b[0m++] FAILED [595/801] >tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths33-+--+-] PASSED [596/801] >tests/test_build/test_build_border.py::test_non_string[outer_widths0-123-<123+---+--->] PASSED [597/801] >tests/test_build/test_build_border.py::test_non_string[outer_widths1-0.9-<0.9+---+--->] PASSED [598/801] >tests/test_build/test_build_border.py::test_non_string[outer_widths2-True-<True---+--->] PASSED [599/801] >tests/test_build/test_build_border.py::test_non_string[outer_widths3-False-<False--+--->] PASSED [600/801] >tests/test_build/test_build_row.py::test_one_line PASSED [601/801] >tests/test_build/test_build_row.py::test_two_line PASSED [602/801] >tests/test_build/test_build_row.py::test_three_line PASSED [603/801] >tests/test_build/test_build_row.py::test_single PASSED [604/801] >tests/test_build/test_build_row.py::test_empty PASSED [605/801] >tests/test_build/test_build_row.py::test_no_cells PASSED [606/801] >tests/test_build/test_combine.py::test_borders[False] PASSED [607/801] >tests/test_build/test_combine.py::test_borders[True] PASSED [608/801] >tests/test_build/test_combine.py::test_no_border[False] PASSED [609/801] >tests/test_build/test_combine.py::test_no_border[True] PASSED [610/801] >tests/test_build/test_combine.py::test_no_items[False] PASSED [611/801] >tests/test_build/test_combine.py::test_no_items[True] PASSED [612/801] >tests/test_build/test_flatten.py::test_one_line PASSED [613/801] >tests/test_build/test_flatten.py::test_two_line PASSED [614/801] >tests/test_terminal_io/test_get_console_info.py::test PASSED [615/801] >tests/test_terminal_io/test_set_terminal_title.py::test[ascii-False] SKIPPED (Fails on windows, I didn't touch it) [616/801] >tests/test_terminal_io/test_set_terminal_title.py::test[ascii-True] SKIPPED (Fails on windows, I didn't touch it) [617/801] >tests/test_terminal_io/test_set_terminal_title.py::test[unicode-False] SKIPPED (Fails on windows, I didn't touch it) [618/801] >tests/test_terminal_io/test_set_terminal_title.py::test[unicode-True] SKIPPED (Fails on windows, I didn't touch it) [619/801] >tests/test_terminal_io/test_set_terminal_title.py::test[bytes-False] SKIPPED (Fails on windows, I didn't touch it) [620/801] >tests/test_terminal_io/test_set_terminal_title.py::test[bytes-True] SKIPPED (Fails on windows, I didn't touch it) [621/801] >tests/test_terminal_io/test_set_terminal_title.py::test_windows_screenshot[ascii] SKIPPED (condition: True) [622/801] >tests/test_terminal_io/test_set_terminal_title.py::test_windows_screenshot[unicode] SKIPPED (condition: True) [623/801] >tests/test_terminal_io/test_set_terminal_title.py::test_windows_screenshot[bytes] SKIPPED (condition: True) [624/801] >tests/test_terminal_io/test_terminal_size.py::test_windows[2-1] PASSED [625/801] >tests/test_terminal_io/test_terminal_size.py::test_windows[2--1] PASSED [626/801] >tests/test_terminal_io/test_terminal_size.py::test_windows[-1-1] PASSED [627/801] >tests/test_terminal_io/test_terminal_size.py::test_windows[-1--1] PASSED [628/801] >tests/test_terminal_io/test_terminal_size.py::test_nix PASSED [629/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[test--4-expected0] PASSED [630/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[123--3-expected1] PASSED [631/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[0.9--3-expected2] PASSED [632/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[None--4-expected3] PASSED [633/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[True--4-expected4] PASSED [634/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[False--5-expected5] PASSED [635/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m--4-expected6] PASSED [636/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m--4-expected7] PASSED [637/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test--4-expected8] FAILED [638/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u84dd\u8272--4-expected9] PASSED [639/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u05e9\u05dc\u05d5\u05dd--4-expected10] PASSED [640/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u0645\u0639\u0631\u0628--4-expected11] PASSED [641/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[test--5-expected12] PASSED [642/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[123--4-expected13] PASSED [643/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[0.9--4-expected14] PASSED [644/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[None--5-expected15] PASSED [645/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[True--5-expected16] PASSED [646/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[False--6-expected17] PASSED [647/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m--5-expected18] PASSED [648/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m--5-expected19] PASSED [649/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test--5-expected20] FAILED [650/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u84dd\u8272--5-expected21] PASSED [651/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u05e9\u05dc\u05d5\u05dd--5-expected22] PASSED [652/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u0645\u0639\u0631\u0628--5-expected23] PASSED [653/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[test-left-5-expected24] PASSED [654/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[123-left-4-expected25] PASSED [655/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[0.9-left-4-expected26] PASSED [656/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[None-left-5-expected27] PASSED [657/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[True-left-5-expected28] PASSED [658/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[False-left-6-expected29] PASSED [659/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m-left-5-expected30] PASSED [660/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m-left-5-expected31] PASSED [661/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-left-5-expected32] FAILED [662/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u84dd\u8272-left-5-expected33] PASSED [663/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u05e9\u05dc\u05d5\u05dd-left-5-expected34] PASSED [664/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u0645\u0639\u0631\u0628-left-5-expected35] PASSED [665/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[test-right-5-expected36] PASSED [666/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[123-right-4-expected37] PASSED [667/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[0.9-right-4-expected38] PASSED [668/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[None-right-5-expected39] PASSED [669/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[True-right-5-expected40] PASSED [670/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[False-right-6-expected41] PASSED [671/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m-right-5-expected42] PASSED [672/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m-right-5-expected43] PASSED [673/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-right-5-expected44] FAILED [674/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u84dd\u8272-right-5-expected45] PASSED [675/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u05e9\u05dc\u05d5\u05dd-right-5-expected46] PASSED [676/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u0645\u0639\u0631\u0628-right-5-expected47] PASSED [677/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[test-center-6-expected48] PASSED [678/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[123-center-5-expected49] PASSED [679/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[0.9-center-5-expected50] PASSED [680/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[None-center-6-expected51] PASSED [681/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[True-center-6-expected52] PASSED [682/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[False-center-7-expected53] PASSED [683/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m-center-6-expected54] PASSED [684/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\x1b[34mTest\x1b[39m-center-6-expected55] PASSED [685/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-center-6-expected56] FAILED [686/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u84dd\u8272-center-6-expected57] PASSED [687/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u05e9\u05dc\u05d5\u05dd-center-6-expected58] PASSED [688/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[\u0645\u0639\u0631\u0628-center-6-expected59] PASSED [689/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[test--1-expected0] PASSED [690/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m--1-expected1] PASSED [691/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m--1-expected2] PASSED [692/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test--1-expected3] FAILED [693/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u84dd\u8272--1-expected4] PASSED [694/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u05e9\u05dc\u05d5\u05dd--1-expected5] PASSED [695/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u0645\u0639\u0631\u0628--1-expected6] PASSED [696/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[test--2-expected7] PASSED [697/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m--2-expected8] PASSED [698/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m--2-expected9] PASSED [699/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test--2-expected10] FAILED [700/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u84dd\u8272--2-expected11] PASSED [701/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u05e9\u05dc\u05d5\u05dd--2-expected12] PASSED [702/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u0645\u0639\u0631\u0628--2-expected13] PASSED [703/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[test-top-2-expected14] PASSED [704/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m-top-2-expected15] PASSED [705/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m-top-2-expected16] PASSED [706/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-top-2-expected17] FAILED [707/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u84dd\u8272-top-2-expected18] PASSED [708/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u05e9\u05dc\u05d5\u05dd-top-2-expected19] PASSED [709/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u0645\u0639\u0631\u0628-top-2-expected20] PASSED [710/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[test-bottom-2-expected21] PASSED [711/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m-bottom-2-expected22] PASSED [712/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m-bottom-2-expected23] PASSED [713/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-bottom-2-expected24] FAILED [714/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u84dd\u8272-bottom-2-expected25] PASSED [715/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u05e9\u05dc\u05d5\u05dd-bottom-2-expected26] PASSED [716/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u0645\u0639\u0631\u0628-bottom-2-expected27] PASSED [717/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[test-middle-3-expected28] PASSED [718/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m-middle-3-expected29] PASSED [719/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\x1b[34mTest\x1b[39m-middle-3-expected30] PASSED [720/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-middle-3-expected31] FAILED [721/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u84dd\u8272-middle-3-expected32] PASSED [722/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u05e9\u05dc\u05d5\u05dd-middle-3-expected33] PASSED [723/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[\u0645\u0639\u0631\u0628-middle-3-expected34] PASSED [724/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[--expected0] PASSED [725/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\n--expected1] PASSED [726/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[a\nb\nc--expected2] PASSED [727/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[test--expected3] PASSED [728/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[-left-expected4] PASSED [729/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\n-left-expected5] PASSED [730/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[a\nb\nc-left-expected6] PASSED [731/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[test-left-expected7] PASSED [732/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[-right-expected8] PASSED [733/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\n-right-expected9] PASSED [734/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[a\nb\nc-right-expected10] PASSED [735/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[test-right-expected11] PASSED [736/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[-center-expected12] PASSED [737/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\n-center-expected13] PASSED [738/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[a\nb\nc-center-expected14] PASSED [739/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[test-center-expected15] PASSED [740/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[-top-expected16] PASSED [741/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\n-top-expected17] PASSED [742/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[a\nb\nc-top-expected18] PASSED [743/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[test-top-expected19] PASSED [744/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[-bottom-expected20] PASSED [745/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\n-bottom-expected21] PASSED [746/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[a\nb\nc-bottom-expected22] PASSED [747/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[test-bottom-expected23] PASSED [748/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[-middle-expected24] PASSED [749/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\n-middle-expected25] PASSED [750/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[a\nb\nc-middle-expected26] PASSED [751/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[test-middle-expected27] PASSED [752/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\u84dd\u8272\n\u05e9\u05dc\u05d5\u05dd\n\u0645\u0639\u0631\u0628--expected28] PASSED [753/801] >tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\x1b[34mTest\x1b[39m\n\x1b[34mTest\x1b[39m\nTest--expected29] FAILED [754/801] >tests/test_width_and_alignment/test_column_max_width.py::test_empty PASSED [755/801] >tests/test_width_and_alignment/test_column_max_width.py::test_single_line PASSED [756/801] >tests/test_width_and_alignment/test_column_max_width.py::test_multi_line PASSED [757/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_zero_length[table_data0-expected_w0-expected_h0] PASSED [758/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_zero_length[table_data1-expected_w1-expected_h1] PASSED [759/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_zero_length[table_data2-expected_w2-expected_h2] PASSED [760/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_zero_length[table_data3-expected_w3-expected_h3] PASSED [761/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_zero_length[table_data4-expected_w4-expected_h4] PASSED [762/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_zero_length[table_data5-expected_w5-expected_h5] PASSED [763/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_single_line PASSED [764/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_multi_line PASSED [765/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_trailing_newline PASSED [766/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_colors_cjk_rtl PASSED [767/801] >tests/test_width_and_alignment/test_max_dimensions.py::test_non_string PASSED [768/801] >tests/test_width_and_alignment/test_table_width.py::test_empty PASSED [769/801] >tests/test_width_and_alignment/test_table_width.py::test_single_line PASSED [770/801] >tests/test_width_and_alignment/test_table_width.py::test_multi_line PASSED [771/801] >tests/test_width_and_alignment/test_visible_width.py::test[hello, world-120] PASSED [772/801] >tests/test_width_and_alignment/test_visible_width.py::test[\u4e16\u754c\u4f60\u597d-80] PASSED [773/801] >tests/test_width_and_alignment/test_visible_width.py::test[\u84dd\u8272-40] PASSED [774/801] >tests/test_width_and_alignment/test_visible_width.py::test[\u05e9\u05dc\u05d5\u05dd-40] PASSED [775/801] >tests/test_width_and_alignment/test_visible_width.py::test[\u0645\u0639\u0631\u0628-40] PASSED [776/801] >tests/test_width_and_alignment/test_visible_width.py::test[hello \u4e16\u754c-100] PASSED [777/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34mhello, world\x1b[39m-120] PASSED [778/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u4e16\u754c\u4f60\u597d\x1b[39m-80] PASSED [779/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u84dd\u8272\x1b[39m-40] PASSED [780/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u05e9\u05dc\u05d5\u05dd\x1b[39m-40] PASSED [781/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u0645\u0639\u0631\u0628\x1b[39m-40] PASSED [782/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34mhello \u4e16\u754c\x1b[39m-100] PASSED [783/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34mhello, world\x1b[39m-121] PASSED [784/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u4e16\u754c\u4f60\u597d\x1b[39m-81] PASSED [785/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u84dd\u8272\x1b[39m-41] PASSED [786/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u05e9\u05dc\u05d5\u05dd\x1b[39m-41] PASSED [787/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u0645\u0639\u0631\u0628\x1b[39m-41] PASSED [788/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34mhello \u4e16\u754c\x1b[39m-101] PASSED [789/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34mhello, world\x1b[39m-122] PASSED [790/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u4e16\u754c\u4f60\u597d\x1b[39m-82] PASSED [791/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u84dd\u8272\x1b[39m-42] PASSED [792/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u05e9\u05dc\u05d5\u05dd\x1b[39m-42] PASSED [793/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34m\u0645\u0639\u0631\u0628\x1b[39m-42] PASSED [794/801] >tests/test_width_and_alignment/test_visible_width.py::test[\x1b[34mhello \u4e16\u754c\x1b[39m-102] PASSED [795/801] >tests/test_width_and_alignment/test_visible_width.py::test[hello, world-121] PASSED [796/801] >tests/test_width_and_alignment/test_visible_width.py::test[\u4e16\u754c\u4f60\u597d-81] PASSED [797/801] >tests/test_width_and_alignment/test_visible_width.py::test[\u84dd\u8272-41] PASSED [798/801] >tests/test_width_and_alignment/test_visible_width.py::test[\u05e9\u05dc\u05d5\u05dd-41] PASSED [799/801] >tests/test_width_and_alignment/test_visible_width.py::test[\u0645\u0639\u0631\u0628-41] PASSED [800/801] >tests/test_width_and_alignment/test_visible_width.py::test[hello \u4e16\u754c-101] PASSED [801/801] > >=================================== FAILURES =================================== >__________________________________ test_color __________________________________ > > def test_color(): > """Test with color characters.""" > table_data = [ > ['ansi', '\033[31mRed\033[39m', '\033[32mGreen\033[39m', '\033[34mBlue\033[39m'], > ['colorclass', Color('{red}Red{/red}'), Color('{green}Green{/green}'), Color('{blue}Blue{/blue}')], > ['colorama', Fore.RED + 'Red' + Fore.RESET, Fore.GREEN + 'Green' + Fore.RESET, Fore.BLUE + 'Blue' + Fore.RESET], > ['termcolor', colored('Red', 'red'), colored('Green', 'green'), colored('Blue', 'blue')], > ] > table = BaseTable(table_data) > table.inner_heading_row_border = False > actual = table.table > > expected = ( > u'+------------+-----+-------+------+\n' > u'| ansi | \033[31mRed\033[39m | \033[32mGreen\033[39m | \033[34mBlue\033[39m |\n' > u'| colorclass | \033[31mRed\033[39m | \033[32mGreen\033[39m | \033[34mBlue\033[39m |\n' > u'| colorama | \033[31mRed\033[39m | \033[32mGreen\033[39m | \033[34mBlue\033[39m |\n' > u'| termcolor | \033[31mRed\033[0m | \033[32mGreen\033[0m | \033[34mBlue\033[0m |\n' > u'+------------+-----+-------+------+' > ) > >> assert actual == expected >E AssertionError: assert '+------------+-----+-------+------+\n| ansi | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | \x1b[34mBlue\x1b[39m |\n| colorclass | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | \x1b[34mBlue\x1b[39m |\n| colorama | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | \x1b[34mBlue\x1b[39m |\n| termcolor | Red | Green | Blue |\n+------------+-----+-------+------+' == '+------------+-----+-------+------+\n| ansi | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | \x1b[34mBlue\x1b[39m |\n| colorclass | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | \x1b[34mBlue\x1b[39m |\n| colorama | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | \x1b[34mBlue\x1b[39m |\n| termcolor | \x1b[31mRed\x1b[0m | \x1b[32mGreen\x1b[0m | \x1b[34mBlue\x1b[0m |\n+------------+-----+-------+------+' >E +------------+-----+-------+------+ >E | ansi | Red | Green | Blue | >E | colorclass | Red | Green | Blue | >E | colorama | Red | Green | Blue | >E - | termcolor | Red | Green | Blue | >E + | termcolor | Red | Green | Blue | >E +------------+-----+-------+------+ > >actual = ('+------------+-----+-------+------+\n' > '| ansi | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | ' > '\x1b[34mBlue\x1b[39m |\n' > '| colorclass | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | ' > '\x1b[34mBlue\x1b[39m |\n' > '| colorama | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | ' > '\x1b[34mBlue\x1b[39m |\n' > '| termcolor | Red | Green | Blue |\n' > '+------------+-----+-------+------+') >expected = ('+------------+-----+-------+------+\n' > '| ansi | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | ' > '\x1b[34mBlue\x1b[39m |\n' > '| colorclass | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | ' > '\x1b[34mBlue\x1b[39m |\n' > '| colorama | \x1b[31mRed\x1b[39m | \x1b[32mGreen\x1b[39m | ' > '\x1b[34mBlue\x1b[39m |\n' > '| termcolor | \x1b[31mRed\x1b[0m | \x1b[32mGreen\x1b[0m | ' > '\x1b[34mBlue\x1b[0m |\n' > '+------------+-----+-------+------+') >table = <terminaltables.base_table.BaseTable object at 0x7ff616485330> >table_data = [['ansi', > '\x1b[31mRed\x1b[39m', > '\x1b[32mGreen\x1b[39m', > '\x1b[34mBlue\x1b[39m'], > ['colorclass', > Color('\x1b[31mRed\x1b[39m'), > Color('\x1b[32mGreen\x1b[39m'), > Color('\x1b[34mBlue\x1b[39m')], > ['colorama', > '\x1b[31mRed\x1b[39m', > '\x1b[32mGreen\x1b[39m', > '\x1b[34mBlue\x1b[39m'], > ['termcolor', 'Red', 'Green', 'Blue']] > >tests/test_base_table/test_table.py:196: AssertionError >_______ test_colors[TEST---outer_widths0-+-\x1b[34mTEST\x1b[0m--------] ________ > >outer_widths = [12], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff6162dbbc0> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '+' >left = '' >outer_widths = [12] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >________ test_colors[TEST---outer_widths1--\x1b[34mTEST\x1b[0m--------] ________ > >outer_widths = [12], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff6162c9850> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '' >left = '' >outer_widths = [12] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST---outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] _______ > >outer_widths = [7, 5], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m---+-----' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST---+-----' == '\x1b[34mTEST\x1b[0m---+-----' >E - TEST---+----- >E + TEST---+----- > >actual = <generator object combine at 0x7ff6162c8740> >expected = '\x1b[34mTEST\x1b[0m---+-----' >intersect = '+' >left = '' >outer_widths = [7, 5] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >________ test_colors[TEST---outer_widths3--\x1b[34mTEST\x1b[0m--------] ________ > >outer_widths = [7, 5], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff6162c9ee0> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '' >left = '' >outer_widths = [7, 5] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >___________ test_colors[TEST---outer_widths4-+-\x1b[34mTEST\x1b[0m] ____________ > >outer_widths = [4], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST' == '\x1b[34mTEST\x1b[0m' >E - TEST >E + TEST > >actual = <generator object combine at 0x7ff6162c9e00> >expected = '\x1b[34mTEST\x1b[0m' >intersect = '+' >left = '' >outer_widths = [4] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >____________ test_colors[TEST---outer_widths5--\x1b[34mTEST\x1b[0m] ____________ > >outer_widths = [4], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST' == '\x1b[34mTEST\x1b[0m' >E - TEST >E + TEST > >actual = <generator object combine at 0x7ff6162cb6f0> >expected = '\x1b[34mTEST\x1b[0m' >intersect = '' >left = '' >outer_widths = [4] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >__________ test_colors[TEST---outer_widths6-+-\x1b[34mTEST\x1b[0m+-] ___________ > >outer_widths = [4, 1], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m+-' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST+-' == '\x1b[34mTEST\x1b[0m+-' >E - TEST+- >E + TEST+- > >actual = <generator object combine at 0x7ff616078580> >expected = '\x1b[34mTEST\x1b[0m+-' >intersect = '+' >left = '' >outer_widths = [4, 1] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >___________ test_colors[TEST---outer_widths7--\x1b[34mTEST\x1b[0m-] ____________ > >outer_widths = [4, 1], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m-' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST-' == '\x1b[34mTEST\x1b[0m-' >E - TEST- >E + TEST- > >actual = <generator object combine at 0x7ff6162c9d90> >expected = '\x1b[34mTEST\x1b[0m-' >intersect = '' >left = '' >outer_widths = [4, 1] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >___________ test_colors[TEST---outer_widths8-+-\x1b[34mTEST\x1b[0m+] ___________ > >outer_widths = [4, 0], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m+' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST+' == '\x1b[34mTEST\x1b[0m+' >E - TEST+ >E + TEST+ > >actual = <generator object combine at 0x7ff616078120> >expected = '\x1b[34mTEST\x1b[0m+' >intersect = '+' >left = '' >outer_widths = [4, 0] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >____________ test_colors[TEST---outer_widths9--\x1b[34mTEST\x1b[0m] ____________ > >outer_widths = [4, 0], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST' == '\x1b[34mTEST\x1b[0m' >E - TEST >E + TEST > >actual = <generator object combine at 0x7ff616078a50> >expected = '\x1b[34mTEST\x1b[0m' >intersect = '' >left = '' >outer_widths = [4, 0] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST---outer_widths10--\x1b[34mTEST\x1b[0m--------] ________ > >outer_widths = [12], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff61607b7d0> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '' >left = '' >outer_widths = [12] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST---outer_widths11--\x1b[34mTEST\x1b[0m--------] ________ > >outer_widths = [6, 6], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff616069690> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '' >left = '' >outer_widths = [6, 6] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST---outer_widths12--\x1b[34mTEST\x1b[0m--------] ________ > >outer_widths = [3, 3, 3, 3], left = '', intersect = '', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff616078ba0> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '' >left = '' >outer_widths = [3, 3, 3, 3] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST---outer_widths13--\x1b[34mTEST\x1b[0m--------] ________ > >outer_widths = [2, 1, 2, 1, 2, 1, ...], left = '', intersect = '', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff61606b4c0> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '' >left = '' >outer_widths = [2, 1, 2, 1, 2, 1, 2, 1] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST---outer_widths14--\x1b[34mTEST\x1b[0m--------] ________ > >outer_widths = [1, 1, 1, 1, 1, 1, ...], left = '', intersect = '', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff61606b3e0> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '' >left = '' >outer_widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >__________ test_colors[TEST---outer_widths15--\x1b[34mTEST\x1b[0m--] ___________ > >outer_widths = [2, 4], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m--' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--' == '\x1b[34mTEST\x1b[0m--' >E - TEST-- >E + TEST-- > >actual = <generator object combine at 0x7ff6162c9380> >expected = '\x1b[34mTEST\x1b[0m--' >intersect = '' >left = '' >outer_widths = [2, 4] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >___________ test_colors[TEST---outer_widths16--\x1b[34mTEST\x1b[0m-] ___________ > >outer_widths = [1, 4], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m-' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST-' == '\x1b[34mTEST\x1b[0m-' >E - TEST- >E + TEST- > >actual = <generator object combine at 0x7ff616078c10> >expected = '\x1b[34mTEST\x1b[0m-' >intersect = '' >left = '' >outer_widths = [1, 4] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >___________ test_colors[TEST---outer_widths17--\x1b[34mTEST\x1b[0m] ____________ > >outer_widths = [1, 3], left = '', intersect = '', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST' == '\x1b[34mTEST\x1b[0m' >E - TEST >E + TEST > >actual = <generator object combine at 0x7ff6162ca420> >expected = '\x1b[34mTEST\x1b[0m' >intersect = '' >left = '' >outer_widths = [1, 3] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST---outer_widths19-+-\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [12], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m--------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' >E - TEST-------- >E + TEST-------- > >actual = <generator object combine at 0x7ff6160758c0> >expected = '\x1b[34mTEST\x1b[0m--------' >intersect = '+' >left = '' >outer_widths = [12] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST---outer_widths20-+-\x1b[34mTEST\x1b[0m---------] _______ > >outer_widths = [0, 12], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m---------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST---------' == '\x1b[34mTEST\x1b[0m---------' >E - TEST--------- >E + TEST--------- > >actual = <generator object combine at 0x7ff616078ba0> >expected = '\x1b[34mTEST\x1b[0m---------' >intersect = '+' >left = '' >outer_widths = [0, 12] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST---outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] _______ > >outer_widths = [12, 0], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m--------+' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------+' == '\x1b[34mTEST\x1b[0m--------+' >E - TEST--------+ >E + TEST--------+ > >actual = <generator object combine at 0x7ff616074510> >expected = '\x1b[34mTEST\x1b[0m--------+' >intersect = '+' >left = '' >outer_widths = [12, 0] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST---outer_widths22-+-\x1b[34mTEST\x1b[0m----------] ______ > >outer_widths = [0, 0, 12], left = '', intersect = '+', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m----------' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST----------' == '\x1b[34mTEST\x1b[0m----------' >E - TEST---------- >E ? ----- ---- >E + TEST---------- > >actual = <generator object combine at 0x7ff616077d10> >expected = '\x1b[34mTEST\x1b[0m----------' >intersect = '+' >left = '' >outer_widths = [0, 0, 12] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST---outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] ______ > >outer_widths = [12, 0, 0], left = '', intersect = '+', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m--------++' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST--------++' == '\x1b[34mTEST\x1b[0m--------++' >E - TEST--------++ >E ? ----- ---- >E + TEST--------++ > >actual = <generator object combine at 0x7ff616074430> >expected = '\x1b[34mTEST\x1b[0m--------++' >intersect = '+' >left = '' >outer_widths = [12, 0, 0] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_________ test_colors[TEST---outer_widths24-+-\x1b[34mTEST\x1b[0m---] __________ > >outer_widths = [3, 3], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m---' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST---' == '\x1b[34mTEST\x1b[0m---' >E - TEST--- >E + TEST--- > >actual = <generator object combine at 0x7ff6162ca960> >expected = '\x1b[34mTEST\x1b[0m---' >intersect = '+' >left = '' >outer_widths = [3, 3] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_________ test_colors[TEST---outer_widths25-+-\x1b[34mTEST\x1b[0m+--] __________ > >outer_widths = [4, 2], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m+--' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST+--' == '\x1b[34mTEST\x1b[0m+--' >E - TEST+-- >E + TEST+-- > >actual = <generator object combine at 0x7ff616077b50> >expected = '\x1b[34mTEST\x1b[0m+--' >intersect = '+' >left = '' >outer_widths = [4, 2] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_________ test_colors[TEST---outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] __________ > >outer_widths = [5, 1], left = '', intersect = '+', right = '', title = 'TEST' >expected = '\x1b[34mTEST\x1b[0m-+-' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST-+-' == '\x1b[34mTEST\x1b[0m-+-' >E - TEST-+- >E + TEST-+- > >actual = <generator object combine at 0x7ff6160900b0> >expected = '\x1b[34mTEST\x1b[0m-+-' >intersect = '+' >left = '' >outer_widths = [5, 1] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_____ test_colors[TEST---outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] ______ > >outer_widths = [3, 3, 3, 3], left = '', intersect = '+', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m---+---+---' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST---+---+---' == '\x1b[34mTEST\x1b[0m---+---+---' >E - TEST---+---+--- >E ? ----- ---- >E + TEST---+---+--- > >actual = <generator object combine at 0x7ff616093b50> >expected = '\x1b[34mTEST\x1b[0m---+---+---' >intersect = '+' >left = '' >outer_widths = [3, 3, 3, 3] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_____ test_colors[TEST---outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] ______ > >outer_widths = [2, 2, 4, 4], left = '', intersect = '+', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m-+----+----' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST-+----+----' == '\x1b[34mTEST\x1b[0m-+----+----' >E - TEST-+----+---- >E ? ----- ---- >E + TEST-+----+---- > >actual = <generator object combine at 0x7ff6160914d0> >expected = '\x1b[34mTEST\x1b[0m-+----+----' >intersect = '+' >left = '' >outer_widths = [2, 2, 4, 4] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_____ test_colors[TEST---outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] ______ > >outer_widths = [1, 1, 5, 5], left = '', intersect = '+', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m-----+-----' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST-----+-----' == '\x1b[34mTEST\x1b[0m-----+-----' >E - TEST-----+----- >E ? ----- ---- >E + TEST-----+----- > >actual = <generator object combine at 0x7ff616088f90> >expected = '\x1b[34mTEST\x1b[0m-----+-----' >intersect = '+' >left = '' >outer_widths = [1, 1, 5, 5] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST---outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] ________ > >outer_widths = [2, 2, 2, 2], left = '', intersect = '+', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m-+--+--' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST-+--+--' == '\x1b[34mTEST\x1b[0m-+--+--' >E - TEST-+--+-- >E + TEST-+--+-- > >actual = <generator object combine at 0x7ff616093b50> >expected = '\x1b[34mTEST\x1b[0m-+--+--' >intersect = '+' >left = '' >outer_widths = [2, 2, 2, 2] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >________ test_colors[TEST---outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] _________ > >outer_widths = [1, 1, 1, 1, 1], left = '', intersect = '+', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m-+-+-' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST-+-+-' == '\x1b[34mTEST\x1b[0m-+-+-' >E - TEST-+-+- >E + TEST-+-+- > >actual = <generator object combine at 0x7ff61608ad50> >expected = '\x1b[34mTEST\x1b[0m-+-+-' >intersect = '+' >left = '' >outer_widths = [1, 1, 1, 1, 1] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >__________ test_colors[TEST---outer_widths32-+-\x1b[34mTEST\x1b[0m++] __________ > >outer_widths = [0, 0, 0, 0, 0, 0, ...], left = '', intersect = '+', right = '' >title = 'TEST', expected = '\x1b[34mTEST\x1b[0m++' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert 'TEST++' == '\x1b[34mTEST\x1b[0m++' >E - TEST++ >E + TEST++ > >actual = <generator object combine at 0x7ff61608ba00> >expected = '\x1b[34mTEST\x1b[0m++' >intersect = '+' >left = '' >outer_widths = [0, 0, 0, 0, 0, 0, 0] >right = '' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths0-+-\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [12], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff61608bb50> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '+' >left = '<' >outer_widths = [12] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST-<->-outer_widths1--\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [12], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff61608ac00> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '' >left = '<' >outer_widths = [12] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] ______ > >outer_widths = [7, 5], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m---+----->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST---+----->' == '<\x1b[34mTEST\x1b[0m---+----->' >E - <TEST---+-----> >E ? ----- ---- >E + <TEST---+-----> > >actual = <generator object combine at 0x7ff616088190> >expected = '<\x1b[34mTEST\x1b[0m---+----->' >intersect = '+' >left = '<' >outer_widths = [7, 5] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST-<->-outer_widths3--\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [7, 5], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff61614eb20> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '' >left = '<' >outer_widths = [7, 5] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >__________ test_colors[TEST-<->-outer_widths4-+-\x1b[34mTEST\x1b[0m] ___________ > >outer_widths = [4], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m>' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST>' == '<\x1b[34mTEST\x1b[0m>' >E - <TEST> >E + <TEST> > >actual = <generator object combine at 0x7ff61614f7d0> >expected = '<\x1b[34mTEST\x1b[0m>' >intersect = '+' >left = '<' >outer_widths = [4] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >___________ test_colors[TEST-<->-outer_widths5--\x1b[34mTEST\x1b[0m] ___________ > >outer_widths = [4], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m>' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST>' == '<\x1b[34mTEST\x1b[0m>' >E - <TEST> >E + <TEST> > >actual = <generator object combine at 0x7ff61614f6f0> >expected = '<\x1b[34mTEST\x1b[0m>' >intersect = '' >left = '<' >outer_widths = [4] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_________ test_colors[TEST-<->-outer_widths6-+-\x1b[34mTEST\x1b[0m+-] __________ > >outer_widths = [4, 1], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m+->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST+->' == '<\x1b[34mTEST\x1b[0m+->' >E - <TEST+-> >E + <TEST+-> > >actual = <generator object combine at 0x7ff61614fca0> >expected = '<\x1b[34mTEST\x1b[0m+->' >intersect = '+' >left = '<' >outer_widths = [4, 1] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >__________ test_colors[TEST-<->-outer_widths7--\x1b[34mTEST\x1b[0m-] ___________ > >outer_widths = [4, 1], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST->' == '<\x1b[34mTEST\x1b[0m->' >E - <TEST-> >E + <TEST-> > >actual = <generator object combine at 0x7ff61614f760> >expected = '<\x1b[34mTEST\x1b[0m->' >intersect = '' >left = '<' >outer_widths = [4, 1] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >__________ test_colors[TEST-<->-outer_widths8-+-\x1b[34mTEST\x1b[0m+] __________ > >outer_widths = [4, 0], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m+>' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST+>' == '<\x1b[34mTEST\x1b[0m+>' >E - <TEST+> >E + <TEST+> > >actual = <generator object combine at 0x7ff6160edbd0> >expected = '<\x1b[34mTEST\x1b[0m+>' >intersect = '+' >left = '<' >outer_widths = [4, 0] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >___________ test_colors[TEST-<->-outer_widths9--\x1b[34mTEST\x1b[0m] ___________ > >outer_widths = [4, 0], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m>' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST>' == '<\x1b[34mTEST\x1b[0m>' >E - <TEST> >E + <TEST> > >actual = <generator object combine at 0x7ff6160efa00> >expected = '<\x1b[34mTEST\x1b[0m>' >intersect = '' >left = '<' >outer_widths = [4, 0] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths10--\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [12], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff616077e60> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '' >left = '<' >outer_widths = [12] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths11--\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [6, 6], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff616079af0> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '' >left = '<' >outer_widths = [6, 6] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths12--\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [3, 3, 3, 3], left = '<', intersect = '', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff61608bbc0> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '' >left = '<' >outer_widths = [3, 3, 3, 3] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths13--\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [2, 1, 2, 1, 2, 1, ...], left = '<', intersect = '', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff61614f300> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '' >left = '<' >outer_widths = [2, 1, 2, 1, 2, 1, 2, 1] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths14--\x1b[34mTEST\x1b[0m--------] _______ > >outer_widths = [1, 1, 1, 1, 1, 1, ...], left = '<', intersect = '', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff61614fd80> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '' >left = '<' >outer_widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_________ test_colors[TEST-<->-outer_widths15--\x1b[34mTEST\x1b[0m--] __________ > >outer_widths = [2, 4], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m-->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-->' == '<\x1b[34mTEST\x1b[0m-->' >E - <TEST--> >E + <TEST--> > >actual = <generator object combine at 0x7ff6160ee490> >expected = '<\x1b[34mTEST\x1b[0m-->' >intersect = '' >left = '<' >outer_widths = [2, 4] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >__________ test_colors[TEST-<->-outer_widths16--\x1b[34mTEST\x1b[0m-] __________ > >outer_widths = [1, 4], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST->' == '<\x1b[34mTEST\x1b[0m->' >E - <TEST-> >E + <TEST-> > >actual = <generator object combine at 0x7ff61614eab0> >expected = '<\x1b[34mTEST\x1b[0m->' >intersect = '' >left = '<' >outer_widths = [1, 4] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >__________ test_colors[TEST-<->-outer_widths17--\x1b[34mTEST\x1b[0m] ___________ > >outer_widths = [1, 3], left = '<', intersect = '', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m>' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST>' == '<\x1b[34mTEST\x1b[0m>' >E - <TEST> >E + <TEST> > >actual = <generator object combine at 0x7ff6160c2500> >expected = '<\x1b[34mTEST\x1b[0m>' >intersect = '' >left = '<' >outer_widths = [1, 3] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths19-+-\x1b[34mTEST\x1b[0m--------] ______ > >outer_widths = [12], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m-------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-------->' == '<\x1b[34mTEST\x1b[0m-------->' >E - <TEST--------> >E ? ----- ---- >E + <TEST--------> > >actual = <generator object combine at 0x7ff6160c3370> >expected = '<\x1b[34mTEST\x1b[0m-------->' >intersect = '+' >left = '<' >outer_widths = [12] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_____ test_colors[TEST-<->-outer_widths20-+-\x1b[34mTEST\x1b[0m---------] ______ > >outer_widths = [0, 12], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m--------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST--------->' == '<\x1b[34mTEST\x1b[0m--------->' >E - <TEST---------> >E ? ----- ---- >E + <TEST---------> > >actual = <generator object combine at 0x7ff6160c36f0> >expected = '<\x1b[34mTEST\x1b[0m--------->' >intersect = '+' >left = '<' >outer_widths = [0, 12] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_____ test_colors[TEST-<->-outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] ______ > >outer_widths = [12, 0], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m--------+>' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST--------+>' == '<\x1b[34mTEST\x1b[0m--------+>' >E - <TEST--------+> >E ? ----- ---- >E + <TEST--------+> > >actual = <generator object combine at 0x7ff6160c2490> >expected = '<\x1b[34mTEST\x1b[0m--------+>' >intersect = '+' >left = '<' >outer_widths = [12, 0] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_____ test_colors[TEST-<->-outer_widths22-+-\x1b[34mTEST\x1b[0m----------] _____ > >outer_widths = [0, 0, 12], left = '<', intersect = '+', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m---------->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST---------->' == '<\x1b[34mTEST\x1b[0m---------->' >E - <TEST----------> >E ? ----- ---- >E + <TEST----------> > >actual = <generator object combine at 0x7ff6160c2810> >expected = '<\x1b[34mTEST\x1b[0m---------->' >intersect = '+' >left = '<' >outer_widths = [0, 0, 12] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_____ test_colors[TEST-<->-outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] _____ > >outer_widths = [12, 0, 0], left = '<', intersect = '+', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m--------++>' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST--------++>' == '<\x1b[34mTEST\x1b[0m--------++>' >E - <TEST--------++> >E ? ----- ---- >E + <TEST--------++> > >actual = <generator object combine at 0x7ff6161522d0> >expected = '<\x1b[34mTEST\x1b[0m--------++>' >intersect = '+' >left = '<' >outer_widths = [12, 0, 0] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >________ test_colors[TEST-<->-outer_widths24-+-\x1b[34mTEST\x1b[0m---] _________ > >outer_widths = [3, 3], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m--->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST--->' == '<\x1b[34mTEST\x1b[0m--->' >E - <TEST---> >E + <TEST---> > >actual = <generator object combine at 0x7ff6161513f0> >expected = '<\x1b[34mTEST\x1b[0m--->' >intersect = '+' >left = '<' >outer_widths = [3, 3] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >________ test_colors[TEST-<->-outer_widths25-+-\x1b[34mTEST\x1b[0m+--] _________ > >outer_widths = [4, 2], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m+-->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST+-->' == '<\x1b[34mTEST\x1b[0m+-->' >E - <TEST+--> >E + <TEST+--> > >actual = <generator object combine at 0x7ff6161511c0> >expected = '<\x1b[34mTEST\x1b[0m+-->' >intersect = '+' >left = '<' >outer_widths = [4, 2] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >________ test_colors[TEST-<->-outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] _________ > >outer_widths = [5, 1], left = '<', intersect = '+', right = '>', title = 'TEST' >expected = '<\x1b[34mTEST\x1b[0m-+->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-+->' == '<\x1b[34mTEST\x1b[0m-+->' >E - <TEST-+-> >E + <TEST-+-> > >actual = <generator object combine at 0x7ff6161514d0> >expected = '<\x1b[34mTEST\x1b[0m-+->' >intersect = '+' >left = '<' >outer_widths = [5, 1] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >____ test_colors[TEST-<->-outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] _____ > >outer_widths = [3, 3, 3, 3], left = '<', intersect = '+', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m---+---+--->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST---+---+--->' == '<\x1b[34mTEST\x1b[0m---+---+--->' >E - <TEST---+---+---> >E ? ----- ---- >E + <TEST---+---+---> > >actual = <generator object combine at 0x7ff616152180> >expected = '<\x1b[34mTEST\x1b[0m---+---+--->' >intersect = '+' >left = '<' >outer_widths = [3, 3, 3, 3] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >____ test_colors[TEST-<->-outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] _____ > >outer_widths = [2, 2, 4, 4], left = '<', intersect = '+', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-+----+---->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-+----+---->' == '<\x1b[34mTEST\x1b[0m-+----+---->' >E - <TEST-+----+----> >E ? ----- ---- >E + <TEST-+----+----> > >actual = <generator object combine at 0x7ff6160fa500> >expected = '<\x1b[34mTEST\x1b[0m-+----+---->' >intersect = '+' >left = '<' >outer_widths = [2, 2, 4, 4] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >____ test_colors[TEST-<->-outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] _____ > >outer_widths = [1, 1, 5, 5], left = '<', intersect = '+', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-----+----->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-----+----->' == '<\x1b[34mTEST\x1b[0m-----+----->' >E - <TEST-----+-----> >E ? ----- ---- >E + <TEST-----+-----> > >actual = <generator object combine at 0x7ff6160f95b0> >expected = '<\x1b[34mTEST\x1b[0m-----+----->' >intersect = '+' >left = '<' >outer_widths = [1, 1, 5, 5] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >______ test_colors[TEST-<->-outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] _______ > >outer_widths = [2, 2, 2, 2], left = '<', intersect = '+', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-+--+-->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-+--+-->' == '<\x1b[34mTEST\x1b[0m-+--+-->' >E - <TEST-+--+--> >E + <TEST-+--+--> > >actual = <generator object combine at 0x7ff6160f8890> >expected = '<\x1b[34mTEST\x1b[0m-+--+-->' >intersect = '+' >left = '<' >outer_widths = [2, 2, 2, 2] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_______ test_colors[TEST-<->-outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] ________ > >outer_widths = [1, 1, 1, 1, 1], left = '<', intersect = '+', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-+-+->' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST-+-+->' == '<\x1b[34mTEST\x1b[0m-+-+->' >E - <TEST-+-+-> >E + <TEST-+-+-> > >actual = <generator object combine at 0x7ff6160fbe60> >expected = '<\x1b[34mTEST\x1b[0m-+-+->' >intersect = '+' >left = '<' >outer_widths = [1, 1, 1, 1, 1] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >_________ test_colors[TEST-<->-outer_widths32-+-\x1b[34mTEST\x1b[0m++] _________ > >outer_widths = [0, 0, 0, 0, 0, 0, ...], left = '<', intersect = '+', right = '>' >title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m++>' > > @pytest.mark.parametrize('outer_widths,intersect,expected', [ > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), > ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), > ([4], '+', '\x1b[34mTEST\x1b[0m'), > ([4], '', '\x1b[34mTEST\x1b[0m'), > ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), > ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), > ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), > ([4, 0], '', '\x1b[34mTEST\x1b[0m'), > ([12], '', '\x1b[34mTEST\x1b[0m--------'), > ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), > ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), > ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), > ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), > ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), > ([1, 3], '', '\x1b[34mTEST\x1b[0m'), > ([1, 2], '', '---'), > ([12], '+', '\x1b[34mTEST\x1b[0m--------'), > ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), > ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), > ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), > ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), > ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), > ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), > ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), > ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), > ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), > ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), > ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), > ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), > ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), > ([1, 1], '+', '-+-'), > ]) > @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) > @pytest.mark.parametrize('title', [ > '\x1b[34mTEST\x1b[0m', > Color('{blue}TEST{/all}'), > Fore.BLUE + 'TEST' + Style.RESET_ALL, > colored('TEST', 'blue'), > ]) > def test_colors(outer_widths, left, intersect, right, title, expected): > """Test with color title characters. > > :param iter outer_widths: List of integers representing column widths with padding. > :param str left: Left border. > :param str intersect: Column separator. > :param str right: Right border. > :param title: Title in border with color codes. > :param str expected: Expected output. > """ > if left and right: > expected = left + expected + right > actual = build_border(outer_widths, '-', left, intersect, right, title=title) >> assert ''.join(actual) == expected >E AssertionError: assert '<TEST++>' == '<\x1b[34mTEST\x1b[0m++>' >E - <TEST++> >E + <TEST++> > >actual = <generator object combine at 0x7ff6160fa650> >expected = '<\x1b[34mTEST\x1b[0m++>' >intersect = '+' >left = '<' >outer_widths = [0, 0, 0, 0, 0, 0, 0] >right = '>' >title = 'TEST' > >tests/test_build/test_build_border.py:295: AssertionError >________________________ test_width[Test--4-expected8] _________________________ > >string = 'Test', align = '', width = 4, expected = ['\x1b[34mTest\x1b[0m'] > > @pytest.mark.parametrize('string,align,width,expected', [ > ('test', '', 4, ['test']), > (123, '', 3, ['123']), > (0.9, '', 3, ['0.9']), > (None, '', 4, ['None']), > (True, '', 4, ['True']), > (False, '', 5, ['False']), > (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 4, ['èè²']), > (u'ש×××', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 4, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 5, ['test ']), > (123, '', 4, ['123 ']), > (0.9, '', 4, ['0.9 ']), > (None, '', 5, ['None ']), > (True, '', 5, ['True ']), > (False, '', 6, ['False ']), > (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', '', 5, ['èè² ']), > (u'ש×××', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'left', 5, ['test ']), > (123, 'left', 4, ['123 ']), > (0.9, 'left', 4, ['0.9 ']), > (None, 'left', 5, ['None ']), > (True, 'left', 5, ['True ']), > (False, 'left', 6, ['False ']), > (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', 'left', 5, ['èè² ']), > (u'ש×××', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'right', 5, [' test']), > (123, 'right', 4, [' 123']), > (0.9, 'right', 4, [' 0.9']), > (None, 'right', 5, [' None']), > (True, 'right', 5, [' True']), > (False, 'right', 6, [' False']), > (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), > ('èè²', 'right', 5, [' èè²']), > (u'ש×××', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), > > ('test', 'center', 6, [' test ']), > (123, 'center', 5, [' 123 ']), > (0.9, 'center', 5, [' 0.9 ']), > (None, 'center', 6, [' None ']), > (True, 'center', 6, [' True ']), > (False, 'center', 7, [' False ']), > (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), > ('èè²', 'center', 6, [' èè² ']), > (u'ש×××', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), > ]) > def test_width(string, align, width, expected): > """Test width and horizontal alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int width: Expand string to this width without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert ['Test'] == ['\x1b[34mTest\x1b[0m'] >E At index 0 diff: 'Test' != '\x1b[34mTest\x1b[0m' >E Full diff: >E - ['\x1b[34mTest\x1b[0m'] >E + ['Test'] > >actual = ['Test'] >align = '' >expected = ['\x1b[34mTest\x1b[0m'] >string = 'Test' >width = 4 > >tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError >________________________ test_width[Test--5-expected20] ________________________ > >string = 'Test', align = '', width = 5, expected = ['\x1b[34mTest\x1b[0m '] > > @pytest.mark.parametrize('string,align,width,expected', [ > ('test', '', 4, ['test']), > (123, '', 3, ['123']), > (0.9, '', 3, ['0.9']), > (None, '', 4, ['None']), > (True, '', 4, ['True']), > (False, '', 5, ['False']), > (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 4, ['èè²']), > (u'ש×××', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 4, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 5, ['test ']), > (123, '', 4, ['123 ']), > (0.9, '', 4, ['0.9 ']), > (None, '', 5, ['None ']), > (True, '', 5, ['True ']), > (False, '', 6, ['False ']), > (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', '', 5, ['èè² ']), > (u'ש×××', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'left', 5, ['test ']), > (123, 'left', 4, ['123 ']), > (0.9, 'left', 4, ['0.9 ']), > (None, 'left', 5, ['None ']), > (True, 'left', 5, ['True ']), > (False, 'left', 6, ['False ']), > (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', 'left', 5, ['èè² ']), > (u'ש×××', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'right', 5, [' test']), > (123, 'right', 4, [' 123']), > (0.9, 'right', 4, [' 0.9']), > (None, 'right', 5, [' None']), > (True, 'right', 5, [' True']), > (False, 'right', 6, [' False']), > (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), > ('èè²', 'right', 5, [' èè²']), > (u'ש×××', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), > > ('test', 'center', 6, [' test ']), > (123, 'center', 5, [' 123 ']), > (0.9, 'center', 5, [' 0.9 ']), > (None, 'center', 6, [' None ']), > (True, 'center', 6, [' True ']), > (False, 'center', 7, [' False ']), > (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), > ('èè²', 'center', 6, [' èè² ']), > (u'ש×××', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), > ]) > def test_width(string, align, width, expected): > """Test width and horizontal alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int width: Expand string to this width without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert ['Test '] == ['\x1b[34mTest\x1b[0m '] >E At index 0 diff: 'Test ' != '\x1b[34mTest\x1b[0m ' >E Full diff: >E - ['\x1b[34mTest\x1b[0m '] >E + ['Test '] > >actual = ['Test '] >align = '' >expected = ['\x1b[34mTest\x1b[0m '] >string = 'Test' >width = 5 > >tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError >______________________ test_width[Test-left-5-expected32] ______________________ > >string = 'Test', align = 'left', width = 5, expected = ['\x1b[34mTest\x1b[0m '] > > @pytest.mark.parametrize('string,align,width,expected', [ > ('test', '', 4, ['test']), > (123, '', 3, ['123']), > (0.9, '', 3, ['0.9']), > (None, '', 4, ['None']), > (True, '', 4, ['True']), > (False, '', 5, ['False']), > (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 4, ['èè²']), > (u'ש×××', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 4, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 5, ['test ']), > (123, '', 4, ['123 ']), > (0.9, '', 4, ['0.9 ']), > (None, '', 5, ['None ']), > (True, '', 5, ['True ']), > (False, '', 6, ['False ']), > (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', '', 5, ['èè² ']), > (u'ש×××', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'left', 5, ['test ']), > (123, 'left', 4, ['123 ']), > (0.9, 'left', 4, ['0.9 ']), > (None, 'left', 5, ['None ']), > (True, 'left', 5, ['True ']), > (False, 'left', 6, ['False ']), > (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', 'left', 5, ['èè² ']), > (u'ש×××', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'right', 5, [' test']), > (123, 'right', 4, [' 123']), > (0.9, 'right', 4, [' 0.9']), > (None, 'right', 5, [' None']), > (True, 'right', 5, [' True']), > (False, 'right', 6, [' False']), > (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), > ('èè²', 'right', 5, [' èè²']), > (u'ש×××', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), > > ('test', 'center', 6, [' test ']), > (123, 'center', 5, [' 123 ']), > (0.9, 'center', 5, [' 0.9 ']), > (None, 'center', 6, [' None ']), > (True, 'center', 6, [' True ']), > (False, 'center', 7, [' False ']), > (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), > ('èè²', 'center', 6, [' èè² ']), > (u'ש×××', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), > ]) > def test_width(string, align, width, expected): > """Test width and horizontal alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int width: Expand string to this width without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert ['Test '] == ['\x1b[34mTest\x1b[0m '] >E At index 0 diff: 'Test ' != '\x1b[34mTest\x1b[0m ' >E Full diff: >E - ['\x1b[34mTest\x1b[0m '] >E + ['Test '] > >actual = ['Test '] >align = 'left' >expected = ['\x1b[34mTest\x1b[0m '] >string = 'Test' >width = 5 > >tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError >_____________________ test_width[Test-right-5-expected44] ______________________ > >string = 'Test', align = 'right', width = 5, expected = [' \x1b[34mTest\x1b[0m'] > > @pytest.mark.parametrize('string,align,width,expected', [ > ('test', '', 4, ['test']), > (123, '', 3, ['123']), > (0.9, '', 3, ['0.9']), > (None, '', 4, ['None']), > (True, '', 4, ['True']), > (False, '', 5, ['False']), > (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 4, ['èè²']), > (u'ש×××', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 4, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 5, ['test ']), > (123, '', 4, ['123 ']), > (0.9, '', 4, ['0.9 ']), > (None, '', 5, ['None ']), > (True, '', 5, ['True ']), > (False, '', 6, ['False ']), > (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', '', 5, ['èè² ']), > (u'ש×××', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'left', 5, ['test ']), > (123, 'left', 4, ['123 ']), > (0.9, 'left', 4, ['0.9 ']), > (None, 'left', 5, ['None ']), > (True, 'left', 5, ['True ']), > (False, 'left', 6, ['False ']), > (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', 'left', 5, ['èè² ']), > (u'ש×××', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'right', 5, [' test']), > (123, 'right', 4, [' 123']), > (0.9, 'right', 4, [' 0.9']), > (None, 'right', 5, [' None']), > (True, 'right', 5, [' True']), > (False, 'right', 6, [' False']), > (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), > ('èè²', 'right', 5, [' èè²']), > (u'ש×××', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), > > ('test', 'center', 6, [' test ']), > (123, 'center', 5, [' 123 ']), > (0.9, 'center', 5, [' 0.9 ']), > (None, 'center', 6, [' None ']), > (True, 'center', 6, [' True ']), > (False, 'center', 7, [' False ']), > (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), > ('èè²', 'center', 6, [' èè² ']), > (u'ש×××', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), > ]) > def test_width(string, align, width, expected): > """Test width and horizontal alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int width: Expand string to this width without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert [' Test'] == [' \x1b[34mTest\x1b[0m'] >E At index 0 diff: ' Test' != ' \x1b[34mTest\x1b[0m' >E Full diff: >E - [' \x1b[34mTest\x1b[0m'] >E + [' Test'] > >actual = [' Test'] >align = 'right' >expected = [' \x1b[34mTest\x1b[0m'] >string = 'Test' >width = 5 > >tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError >_____________________ test_width[Test-center-6-expected56] _____________________ > >string = 'Test', align = 'center', width = 6 >expected = [' \x1b[34mTest\x1b[0m '] > > @pytest.mark.parametrize('string,align,width,expected', [ > ('test', '', 4, ['test']), > (123, '', 3, ['123']), > (0.9, '', 3, ['0.9']), > (None, '', 4, ['None']), > (True, '', 4, ['True']), > (False, '', 5, ['False']), > (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 4, ['èè²']), > (u'ש×××', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 4, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 5, ['test ']), > (123, '', 4, ['123 ']), > (0.9, '', 4, ['0.9 ']), > (None, '', 5, ['None ']), > (True, '', 5, ['True ']), > (False, '', 6, ['False ']), > (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', '', 5, ['èè² ']), > (u'ש×××', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'left', 5, ['test ']), > (123, 'left', 4, ['123 ']), > (0.9, 'left', 4, ['0.9 ']), > (None, 'left', 5, ['None ']), > (True, 'left', 5, ['True ']), > (False, 'left', 6, ['False ']), > (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), > ('èè²', 'left', 5, ['èè² ']), > (u'ש×××', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), > > ('test', 'right', 5, [' test']), > (123, 'right', 4, [' 123']), > (0.9, 'right', 4, [' 0.9']), > (None, 'right', 5, [' None']), > (True, 'right', 5, [' True']), > (False, 'right', 6, [' False']), > (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), > ('èè²', 'right', 5, [' èè²']), > (u'ש×××', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), > > ('test', 'center', 6, [' test ']), > (123, 'center', 5, [' 123 ']), > (0.9, 'center', 5, [' 0.9 ']), > (None, 'center', 6, [' None ']), > (True, 'center', 6, [' True ']), > (False, 'center', 7, [' False ']), > (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), > (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), > ('èè²', 'center', 6, [' èè² ']), > (u'ש×××', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), > (u'٠عرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), > ]) > def test_width(string, align, width, expected): > """Test width and horizontal alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int width: Expand string to this width without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert [' Test '] == [' \x1b[34mTest\x1b[0m '] >E At index 0 diff: ' Test ' != ' \x1b[34mTest\x1b[0m ' >E Full diff: >E - [' \x1b[34mTest\x1b[0m '] >E + [' Test '] > >actual = [' Test '] >align = 'center' >expected = [' \x1b[34mTest\x1b[0m '] >string = 'Test' >width = 6 > >tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError >________________________ test_height[Test--1-expected3] ________________________ > >string = 'Test', align = '', height = 1, expected = ['\x1b[34mTest\x1b[0m'] > > @pytest.mark.parametrize('string,align,height,expected', [ > ('test', '', 1, ['test']), > (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 1, ['èè²']), > (u'ש×××', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 1, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', '', 2, ['èè²', ' ']), > (u'ש×××', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'top', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'top', 2, ['èè²', ' ']), > (u'ש×××', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'bottom', 2, [' ', 'test']), > (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), > ('èè²', 'bottom', 2, [' ', 'èè²']), > (u'ש×××', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), > > ('test', 'middle', 3, [' ', 'test', ' ']), > (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'middle', 3, [' ', 'èè²', ' ']), > (u'ש×××', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), > ]) > def test_height(string, align, height, expected): > """Test height and vertical alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int height: Expand string to this height without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert ['Test'] == ['\x1b[34mTest\x1b[0m'] >E At index 0 diff: 'Test' != '\x1b[34mTest\x1b[0m' >E Full diff: >E - ['\x1b[34mTest\x1b[0m'] >E + ['Test'] > >actual = ['Test'] >align = '' >expected = ['\x1b[34mTest\x1b[0m'] >height = 1 >string = 'Test' > >tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError >_______________________ test_height[Test--2-expected10] ________________________ > >string = 'Test', align = '', height = 2 >expected = ['\x1b[34mTest\x1b[0m', ' '] > > @pytest.mark.parametrize('string,align,height,expected', [ > ('test', '', 1, ['test']), > (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 1, ['èè²']), > (u'ש×××', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 1, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', '', 2, ['èè²', ' ']), > (u'ש×××', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'top', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'top', 2, ['èè²', ' ']), > (u'ש×××', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'bottom', 2, [' ', 'test']), > (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), > ('èè²', 'bottom', 2, [' ', 'èè²']), > (u'ש×××', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), > > ('test', 'middle', 3, [' ', 'test', ' ']), > (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'middle', 3, [' ', 'èè²', ' ']), > (u'ש×××', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), > ]) > def test_height(string, align, height, expected): > """Test height and vertical alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int height: Expand string to this height without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert ['Test', ' '] == ['\x1b[34mTest\x1b[0m', ' '] >E At index 0 diff: 'Test' != '\x1b[34mTest\x1b[0m' >E Full diff: >E - ['\x1b[34mTest\x1b[0m', ' '] >E + ['Test', ' '] > >actual = ['Test', ' '] >align = '' >expected = ['\x1b[34mTest\x1b[0m', ' '] >height = 2 >string = 'Test' > >tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError >______________________ test_height[Test-top-2-expected17] ______________________ > >string = 'Test', align = 'top', height = 2 >expected = ['\x1b[34mTest\x1b[0m', ' '] > > @pytest.mark.parametrize('string,align,height,expected', [ > ('test', '', 1, ['test']), > (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 1, ['èè²']), > (u'ש×××', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 1, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', '', 2, ['èè²', ' ']), > (u'ש×××', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'top', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'top', 2, ['èè²', ' ']), > (u'ש×××', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'bottom', 2, [' ', 'test']), > (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), > ('èè²', 'bottom', 2, [' ', 'èè²']), > (u'ש×××', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), > > ('test', 'middle', 3, [' ', 'test', ' ']), > (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'middle', 3, [' ', 'èè²', ' ']), > (u'ש×××', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), > ]) > def test_height(string, align, height, expected): > """Test height and vertical alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int height: Expand string to this height without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert ['Test', ' '] == ['\x1b[34mTest\x1b[0m', ' '] >E At index 0 diff: 'Test' != '\x1b[34mTest\x1b[0m' >E Full diff: >E - ['\x1b[34mTest\x1b[0m', ' '] >E + ['Test', ' '] > >actual = ['Test', ' '] >align = 'top' >expected = ['\x1b[34mTest\x1b[0m', ' '] >height = 2 >string = 'Test' > >tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError >____________________ test_height[Test-bottom-2-expected24] _____________________ > >string = 'Test', align = 'bottom', height = 2 >expected = [' ', '\x1b[34mTest\x1b[0m'] > > @pytest.mark.parametrize('string,align,height,expected', [ > ('test', '', 1, ['test']), > (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 1, ['èè²']), > (u'ש×××', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 1, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', '', 2, ['èè²', ' ']), > (u'ש×××', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'top', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'top', 2, ['èè²', ' ']), > (u'ש×××', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'bottom', 2, [' ', 'test']), > (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), > ('èè²', 'bottom', 2, [' ', 'èè²']), > (u'ש×××', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), > > ('test', 'middle', 3, [' ', 'test', ' ']), > (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'middle', 3, [' ', 'èè²', ' ']), > (u'ש×××', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), > ]) > def test_height(string, align, height, expected): > """Test height and vertical alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int height: Expand string to this height without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert [' ', 'Test'] == [' ', '\x1b[34mTest\x1b[0m'] >E At index 1 diff: 'Test' != '\x1b[34mTest\x1b[0m' >E Full diff: >E - [' ', '\x1b[34mTest\x1b[0m'] >E + [' ', 'Test'] > >actual = [' ', 'Test'] >align = 'bottom' >expected = [' ', '\x1b[34mTest\x1b[0m'] >height = 2 >string = 'Test' > >tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError >____________________ test_height[Test-middle-3-expected31] _____________________ > >string = 'Test', align = 'middle', height = 3 >expected = [' ', '\x1b[34mTest\x1b[0m', ' '] > > @pytest.mark.parametrize('string,align,height,expected', [ > ('test', '', 1, ['test']), > (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), > ('èè²', '', 1, ['èè²']), > (u'ש×××', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', '', 1, [u'\u0645\u0639\u0631\u0628']), > > ('test', '', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', '', 2, ['èè²', ' ']), > (u'ש×××', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'top', 2, ['test', ' ']), > (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'top', 2, ['èè²', ' ']), > (u'ש×××', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), > > ('test', 'bottom', 2, [' ', 'test']), > (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), > (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), > ('èè²', 'bottom', 2, [' ', 'èè²']), > (u'ש×××', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), > (u'٠عرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), > > ('test', 'middle', 3, [' ', 'test', ' ']), > (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), > (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), > ('èè²', 'middle', 3, [' ', 'èè²', ' ']), > (u'ש×××', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), > (u'٠عرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), > ]) > def test_height(string, align, height, expected): > """Test height and vertical alignment. > > :param str string: String to test. > :param str align: Horizontal alignment. > :param int height: Expand string to this height without padding. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) >> assert actual == expected >E AssertionError: assert [' ', 'Test', ' '] == [' ', '\x1b[34mTest\x1b[0m', ' '] >E At index 1 diff: 'Test' != '\x1b[34mTest\x1b[0m' >E Full diff: >E - [' ', '\x1b[34mTest\x1b[0m', ' '] >E ? -------- ------- >E + [' ', 'Test', ' '] > >actual = [' ', 'Test', ' '] >align = 'middle' >expected = [' ', '\x1b[34mTest\x1b[0m', ' '] >height = 3 >string = 'Test' > >tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError >_ test_odd_width_height_pad_space[\x1b[34mTest\x1b[39m\n\x1b[34mTest\x1b[39m\nTest--expected29] _ > >string = '\x1b[34mTest\x1b[39m\n\x1b[34mTest\x1b[39m\nTest', align = '' >expected = ['.......', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[0m..', '.......'] > > @pytest.mark.parametrize('string,align,expected', [ > ('', '', ['.......', '.......', '.......', '.......', '.......']), > ('\n', '', ['.......', '.......', '.......', '.......', '.......']), > ('a\nb\nc', '', ['.......', '.a.....', '.b.....', '.c.....', '.......']), > ('test', '', ['.......', '.test..', '.......', '.......', '.......']), > > ('', 'left', ['.......', '.......', '.......', '.......', '.......']), > ('\n', 'left', ['.......', '.......', '.......', '.......', '.......']), > ('a\nb\nc', 'left', ['.......', '.a.....', '.b.....', '.c.....', '.......']), > ('test', 'left', ['.......', '.test..', '.......', '.......', '.......']), > > ('', 'right', ['.......', '.......', '.......', '.......', '.......']), > ('\n', 'right', ['.......', '.......', '.......', '.......', '.......']), > ('a\nb\nc', 'right', ['.......', '.....a.', '.....b.', '.....c.', '.......']), > ('test', 'right', ['.......', '..test.', '.......', '.......', '.......']), > > ('', 'center', ['.......', '.......', '.......', '.......', '.......']), > ('\n', 'center', ['.......', '.......', '.......', '.......', '.......']), > ('a\nb\nc', 'center', ['.......', '...a...', '...b...', '...c...', '.......']), > ('test', 'center', ['.......', '..test.', '.......', '.......', '.......']), > > ('', 'top', ['.......', '.......', '.......', '.......', '.......']), > ('\n', 'top', ['.......', '.......', '.......', '.......', '.......']), > ('a\nb\nc', 'top', ['.......', '.a.....', '.b.....', '.c.....', '.......']), > ('test', 'top', ['.......', '.test..', '.......', '.......', '.......']), > > ('', 'bottom', ['.......', '.......', '.......', '.......', '.......']), > ('\n', 'bottom', ['.......', '.......', '.......', '.......', '.......']), > ('a\nb\nc', 'bottom', ['.......', '.a.....', '.b.....', '.c.....', '.......']), > ('test', 'bottom', ['.......', '.......', '.......', '.test..', '.......']), > > ('', 'middle', ['.......', '.......', '.......', '.......', '.......']), > ('\n', 'middle', ['.......', '.......', '.......', '.......', '.......']), > ('a\nb\nc', 'middle', ['.......', '.a.....', '.b.....', '.c.....', '.......']), > ('test', 'middle', ['.......', '.......', '.test..', '.......', '.......']), > > ( > u'èè²\nש×××\n٠عرب', > '', > ['.......', u'.èè²..', u'.\u05e9\u05dc\u05d5\u05dd..', u'.\u0645\u0639\u0631\u0628..', '.......'] > ), > > ( > '\n'.join((Color('{blue}Test{/blue}'), Fore.BLUE + 'Test' + Fore.RESET, colored('Test', 'blue'))), > '', > ['.......', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[0m..', '.......'] > ), > > # (Color('{blue}A\nB{/blue}'), '', '.......\n.\x1b[34mA\x1b[39m.....\n.\x1b[34mB\x1b[39m.....\n.......\n.......'), > > ]) > def test_odd_width_height_pad_space(string, align, expected): > """Test odd number width, height, padding, and dots for whitespaces. > > :param str string: String to test. > :param str align: Alignment in any dimension but one at a time. > :param list expected: Expected output string. > """ > actual = align_and_pad_cell(string, (align,), (5, 3), (1, 1, 1, 1), '.') >> assert actual == expected >E AssertionError: assert ['.......', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[39m..', '.Test..', '.......'] == ['.......', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[0m..', '.......'] >E At index 3 diff: '.Test..' != '.\x1b[34mTest\x1b[0m..' >E Full diff: >E [ >E '.......', >E '.\x1b[34mTest\x1b[39m..', >E '.\x1b[34mTest\x1b[39m..', >E - '.\x1b[34mTest\x1b[0m..', >E + '.Test..', >E '.......', >E ] > >actual = ['.......', > '.\x1b[34mTest\x1b[39m..', > '.\x1b[34mTest\x1b[39m..', > '.Test..', > '.......'] >align = '' >expected = ['.......', > '.\x1b[34mTest\x1b[39m..', > '.\x1b[34mTest\x1b[39m..', > '.\x1b[34mTest\x1b[0m..', > '.......'] >string = '\x1b[34mTest\x1b[39m\n\x1b[34mTest\x1b[39m\nTest' > >tests/test_width_and_alignment/test_align_and_pad_cell.py:202: AssertionError >=========================== short test summary info ============================ >SKIPPED [1] tests/test_all_tables_e2e/test_ascii_table.py:102: condition: True >SKIPPED [1] tests/test_all_tables_e2e/test_double_table.py:202: condition: True >SKIPPED [1] tests/test_all_tables_e2e/test_single_table_windows.py:18: condition: True >SKIPPED [1] tests/test_all_tables_e2e/test_single_table_windows.py:63: condition: True >SKIPPED [1] tests/test_all_tables_e2e/test_single_table_windows.py:203: condition: True >SKIPPED [6] tests/test_terminal_io/test_set_terminal_title.py:18: Fails on windows, I didn't touch it >SKIPPED [3] tests/test_terminal_io/test_set_terminal_title.py:56: condition: True >FAILED tests/test_base_table/test_table.py::test_color - AssertionError: asse... >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths0-+-\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths1--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths3--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths4-+-\x1b[34mTEST\x1b[0m] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths5--\x1b[34mTEST\x1b[0m] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths6-+-\x1b[34mTEST\x1b[0m+-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths7--\x1b[34mTEST\x1b[0m-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths8-+-\x1b[34mTEST\x1b[0m+] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths9--\x1b[34mTEST\x1b[0m] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths10--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths11--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths12--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths13--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths14--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths15--\x1b[34mTEST\x1b[0m--] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths16--\x1b[34mTEST\x1b[0m-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths17--\x1b[34mTEST\x1b[0m] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths19-+-\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths20-+-\x1b[34mTEST\x1b[0m---------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths22-+-\x1b[34mTEST\x1b[0m----------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths24-+-\x1b[34mTEST\x1b[0m---] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths25-+-\x1b[34mTEST\x1b[0m+--] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths32-+-\x1b[34mTEST\x1b[0m++] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths0-+-\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths1--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths3--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths4-+-\x1b[34mTEST\x1b[0m] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths5--\x1b[34mTEST\x1b[0m] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths6-+-\x1b[34mTEST\x1b[0m+-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths7--\x1b[34mTEST\x1b[0m-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths8-+-\x1b[34mTEST\x1b[0m+] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths9--\x1b[34mTEST\x1b[0m] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths10--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths11--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths12--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths13--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths14--\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths15--\x1b[34mTEST\x1b[0m--] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths16--\x1b[34mTEST\x1b[0m-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths17--\x1b[34mTEST\x1b[0m] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths19-+-\x1b[34mTEST\x1b[0m--------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths20-+-\x1b[34mTEST\x1b[0m---------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths22-+-\x1b[34mTEST\x1b[0m----------] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths24-+-\x1b[34mTEST\x1b[0m---] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths25-+-\x1b[34mTEST\x1b[0m+--] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] >FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths32-+-\x1b[34mTEST\x1b[0m++] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test--4-expected8] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test--5-expected20] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-left-5-expected32] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-right-5-expected44] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-center-6-expected56] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test--1-expected3] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test--2-expected10] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-top-2-expected17] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-bottom-2-expected24] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-middle-3-expected31] >FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\x1b[34mTest\x1b[39m\n\x1b[34mTest\x1b[39m\nTest--expected29] >================== 76 failed, 711 passed, 14 skipped in 1.68s ================== > * ERROR: dev-python/terminaltables-3.1.10-r1::gentoo failed (test phase): > * pytest failed with python3.10 > * > * Call stack: > * ebuild.sh, line 136: Called src_test > * environment, line 3492: Called distutils-r1_src_test > * environment, line 1644: Called _distutils-r1_run_foreach_impl 'python_test' > * environment, line 730: Called python_foreach_impl 'distutils-r1_run_phase' 'python_test' > * environment, line 3176: Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test' > * environment, line 2661: Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test' > * environment, line 2659: Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'python_test' > * environment, line 1075: Called distutils-r1_run_phase 'python_test' > * environment, line 1567: Called python_test > * environment, line 3458: Called epytest > * environment, line 2166: Called die > * The specific snippet of code: > * "${@}" || die -n "pytest failed with ${EPYTHON}"; > * > * If you need support, post the output of `emerge --info '=dev-python/terminaltables-3.1.10-r1::gentoo'`, > * the complete build log and the output of `emerge -pqv '=dev-python/terminaltables-3.1.10-r1::gentoo'`. > * The complete build log is located at '/var/log/emerge-log/build/dev-python/terminaltables-3.1.10-r1:20230520-040530.log'. > * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-python/terminaltables-3.1.10-r1/temp/build.log'. > * The ebuild environment file is located at '/var/tmp/portage/dev-python/terminaltables-3.1.10-r1/temp/environment'. > * Working directory: '/var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10' > * S: '/var/tmp/portage/dev-python/terminaltables-3.1.10-r1/work/terminaltables-3.1.10' >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 906843
: 862037