test_ok2/testing/io
Ran Benita aca534c67d Improve our own wcwidth implementation and remove dependency on wcwidth package
`TerminalWriter`, imported recently from `py`, contains its own
incomplete wcwidth (`char_with`/`get_line_width`) implementation. The
`TerminalReporter` also needs this, but uses the external `wcwidth`
package.

This commit brings the `TerminalWriter` implementation up-to-par with
`wcwidth`, moves to implementation to a new file `_pytest._io.wcwidth`
which is used everywhere, and removes the dependency.

The differences compared to the `wcwidth` package are:

- Normalizes the string before counting.

- Uses Python's `unicodedata` instead of vendored Unicode tables. This
  means the data corresponds to the Python's version Unicode version
  instead of the `wcwidth`'s package version.

- Apply some optimizations.
2020-05-26 17:14:01 +03:00
..
test_saferepr.py 'saferepr' handles classes with broken __getattribute__ 2020-05-05 19:22:39 -03:00
test_terminalwriter.py terminalwriter: clean up markup function a bit 2020-04-30 16:44:03 +03:00
test_wcwidth.py Improve our own wcwidth implementation and remove dependency on wcwidth package 2020-05-26 17:14:01 +03:00