Mercurial > cpython-lru_cache-weakref
diff Lib/sqlite3/test/types.py @ 43638:b10544827af7
Make str/str8 comparisons return True/False for !=/==.
Code that has been returning str8 becomes much more apparent thanks to this
(e.g., struct module returning str8 for all string-related formats or sqlite3
passing in str8 instances when converting objects that had a __conform__
method). One also has to watch out in C code when making a key from char *
using PyString in the C code but a str instance in Python code as that will not
longer compare equal.
Once str8 gains a constructor like the current bytes type then
test_modulefinder needs a cleanup as the fix is a little messy in that file.
Thanks goes to Thomas Lee for writing the patch for the change giving an
initial run-down of why most of the tests were failing.
| author | Brett Cannon <bcannon@gmail.com> |
|---|---|
| date | Mon, 22 Oct 2007 20:24:51 +0000 |
| parents | 8c10aac37037 |
| children | 0d462d789b18 |
line wrap: on
line diff
--- a/Lib/sqlite3/test/types.py Mon Oct 22 16:16:13 2007 +0000 +++ b/Lib/sqlite3/test/types.py Mon Oct 22 20:24:51 2007 +0000 @@ -76,6 +76,10 @@ class DeclTypesTests(unittest.TestCase): class Foo: def __init__(self, _val): + if isinstance(_val, str8): + # sqlite3 always calls __init__ with a str8 created from a + # UTF-8 string when __conform__ was used to store the object. + _val = _val.decode('utf8') self.val = _val def __cmp__(self, other):
