New submission from Daniel Fortunov <pythonb...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue36824>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to