mirror of
https://github.com/python/cpython.git
synced 2025-07-29 22:24:49 +00:00
Add py3k warnings for object, type, cell and dict comparisons. This should resolve issue2342 and partly resolve issue2373.
This commit is contained in:
parent
a8b09fd4c3
commit
ae42f33cdf
6 changed files with 166 additions and 3 deletions
39
Lib/test/test_undocumented_details.py
Normal file
39
Lib/test/test_undocumented_details.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
from test.test_support import run_unittest, have_unicode
|
||||
import unittest
|
||||
import sys
|
||||
|
||||
class TestImplementationComparisons(unittest.TestCase):
|
||||
|
||||
def test_type_comparisons(self):
|
||||
self.assertTrue(str < int or str > int)
|
||||
self.assertTrue(int <= str or int >= str)
|
||||
self.assertTrue(cmp(int, str) != 0)
|
||||
self.assertTrue(int is int)
|
||||
self.assertTrue(str == str)
|
||||
self.assertTrue(int != str)
|
||||
|
||||
def test_cell_comparisons(self):
|
||||
def f(x):
|
||||
if x:
|
||||
y = 1
|
||||
def g():
|
||||
return x
|
||||
def h():
|
||||
return y
|
||||
return g, h
|
||||
g, h = f(0)
|
||||
g_cell, = g.func_closure
|
||||
h_cell, = h.func_closure
|
||||
self.assertTrue(h_cell < g_cell)
|
||||
self.assertTrue(g_cell >= h_cell)
|
||||
self.assertEqual(cmp(g_cell, h_cell), 1)
|
||||
self.assertTrue(g_cell is g_cell)
|
||||
self.assertTrue(g_cell == g_cell)
|
||||
self.assertTrue(h_cell == h_cell)
|
||||
self.assertTrue(g_cell != h_cell)
|
||||
|
||||
def test_main():
|
||||
run_unittest(TestImplementationComparisons)
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_main()
|
Loading…
Add table
Add a link
Reference in a new issue