summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_unicode.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_unicode.py')
-rw-r--r--Lib/test/test_unicode.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index ffe3e82..a14eead 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -508,6 +508,28 @@ class UnicodeTest(string_tests.CommonTest,
text = 'abc def'
self.assertIs(text.replace(pattern, pattern), text)
+ def test_repeat_id_preserving(self):
+ a = '123abc1@'
+ b = '456zyx-+'
+ self.assertEqual(id(a), id(a))
+ self.assertNotEqual(id(a), id(b))
+ self.assertNotEqual(id(a), id(a * -4))
+ self.assertNotEqual(id(a), id(a * 0))
+ self.assertEqual(id(a), id(a * 1))
+ self.assertEqual(id(a), id(1 * a))
+ self.assertNotEqual(id(a), id(a * 2))
+
+ class SubStr(str):
+ pass
+
+ s = SubStr('qwerty()')
+ self.assertEqual(id(s), id(s))
+ self.assertNotEqual(id(s), id(s * -4))
+ self.assertNotEqual(id(s), id(s * 0))
+ self.assertNotEqual(id(s), id(s * 1))
+ self.assertNotEqual(id(s), id(1 * s))
+ self.assertNotEqual(id(s), id(s * 2))
+
def test_bytes_comparison(self):
with warnings_helper.check_warnings():
warnings.simplefilter('ignore', BytesWarning)