[New-bugs-announce] [issue36824] Refactor str tests to reflect that str and unicode are merged in Python 3

Daniel Fortunov report at bugs.python.org
Tue May 7 02:37:53 EDT 2019


New submission from Daniel Fortunov <pythonbugs at danielfortunov.com>:

Unit tests of `str` and related types (e.g. `UserString`) contain nomenclature and structure that dates back to the Python 2 distinction between `str` and `unicode`.

Previously it was undesirable to disturb the structure of these tests too much as this would complicate the merging of bug fixes back to Python 2, however with Python 2 drawing near to end-of-life this is perhaps less of a concern.

I would propose the following changes as a start:
- Rename test_unicode.py to test_str.py, and `UnicodeTest` class to `StrTest`
  (to reflect the type that is now being tested)
- Remove `MixinStrUnicodeUserStringTest` class and move its tests into `CommonTest`
  (The comment for this class says
    # additional tests that only work for
    # stringlike objects, i.e. str, UserString
   but in the absence of `unicode` the `CommonTest` 
   class is also only used for these two types now.)
- Promote tests from the current `UnicodeTest` class to `CommonTest`
  where it makes sense to do so; remove checks that no longer make sense.
  (e.g. checks around mixed `str`/`unicode` arguments that are all just `str` now)
  Maybe the duplicative `checkequalnofix()` method can also go away now?
- The `BadSeq1` helper class is not used because the corresponding check was 
  commented out in 2007. Either reinstate the check, or remove this class.

I'm happy to submit a PR for this, but just wanted to get some feedback before making the changes.

----------
components: Library (Lib)
messages: 341685
nosy: dfortunov, ncoghlan, xtreak
priority: normal
severity: normal
status: open
title: Refactor str tests to reflect that str and unicode are merged in Python 3
type: enhancement
versions: Python 3.8

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue36824>
_______________________________________


More information about the New-bugs-announce mailing list