Author: Amaury Forgeot d'Arc <[email protected]>
Branch: py3k
Changeset: r50671:4f0c02a4d39e
Date: 2011-12-18 18:18 +0100
http://bitbucket.org/pypy/pypy/changeset/4f0c02a4d39e/

Log:    Fix tests in test_descroperation

diff --git a/pypy/objspace/test/test_descroperation.py 
b/pypy/objspace/test/test_descroperation.py
--- a/pypy/objspace/test/test_descroperation.py
+++ b/pypy/objspace/test/test_descroperation.py
@@ -98,16 +98,10 @@
             a1 *= b
             assert a1 == "imul"
 
-            if base is object:
-                assert a - b == "B's rsub"
-            else:
-                assert a - b == "sub"
+            assert a - b == "B's rsub"
             assert b - a == "B's sub"
             assert b - b == "B's sub"
-            if base is object:
-                assert a ** b == "B's rpow"
-            else:
-                assert a ** b == "pow"
+            assert a ** b == "B's rpow"
             assert b ** a == "B's pow"
             assert b ** b == "B's pow"
             assert -b == "B's neg"
@@ -128,32 +122,28 @@
     def test_getslice(self):
         class Sq(object):
             def __getitem__(self, key):
-                start, stop = key
-                return (start, stop)
+                return key.start, key.stop
             def __len__(self):
                 return 100
 
         sq = Sq()
 
         assert sq[1:3] == (1,3)
-        slice_min, slice_max = sq[:]
-        assert slice_min == 0
-        assert slice_max >= 2**31-1
-        assert sq[1:] == (1, slice_max)
-        assert sq[:3] == (0, 3)
-        assert sq[:] == (0, slice_max)
+        assert sq[:] == (None, None)
+        assert sq[1:] == (1, None)
+        assert sq[:3] == (None, 3)
+        assert sq[:] == (None, None)
         # negative indices
-        assert sq[-1:3] == (99, 3)
-        assert sq[1:-3] == (1, 97)
-        assert sq[-1:-3] == (99, 97)
-        # extended slice syntax always uses __getitem__()
-        assert sq[::] == "booh"
+        assert sq[-1:3] == (-1, 3)
+        assert sq[1:-3] == (1, -3)
+        assert sq[-1:-3] == (-1, -3)
+        # extended slice syntax also uses __getitem__()
+        assert sq[::] == (None, None)
 
     def test_setslice(self):
         class Sq(object):
             def __setitem__(self, key, value):
-                start, stop = key
-                ops.append((start, stop, value))
+                ops.append((key.start, key.stop, value))
             def __len__(self):
                 return 100
 
@@ -163,21 +153,18 @@
         sq[12:] = 'world'
         sq[:-1] = 'spam'
         sq[:] = 'egg'
-        slice_max = ops[-1][1]
-        assert slice_max >= 2**31-1
 
         assert ops == [
-            (95, 3,          'hello'),
-            (12, slice_max, 'world'),
-            (0,  99,         'spam'),
-            (0,  slice_max, 'egg'),
+            (-5,    3,   'hello'),
+            (12,   None, 'world'),
+            (None, -1,   'spam'),
+            (None, None, 'egg'),
             ]
 
     def test_delslice(self):
         class Sq(object):
             def __delitem__(self, key):
-                start, stop = key
-                ops.append((start, stop))
+                ops.append((key.start, key.stop))
             def __len__(self):
                 return 100
 
@@ -187,37 +174,32 @@
         del sq[-12:]
         del sq[:1]
         del sq[:]
-        slice_max = ops[-1][1]
-        assert slice_max >= 2**31-1
 
         assert ops == [
-            (5,   97),
-            (88,  slice_max),
-            (0,   1),
-            (0,   slice_max),
+            (5,   -3),
+            (-12, None),
+            (None,1),
+            (None,None),
             ]
 
     def test_getslice_nolength(self):
         class Sq(object):
             def __getitem__(self, key):
-                start, stop = key
-                return (start, stop)
+                return key.start, key.stop
 
         sq = Sq()
 
         assert sq[1:3] == (1,3)
-        slice_min, slice_max = sq[:]
-        assert slice_min == 0
-        assert slice_max >= 2**31-1
-        assert sq[1:] == (1, slice_max)
-        assert sq[:3] == (0, 3)
-        assert sq[:] == (0, slice_max)
+        assert sq[:] == (None, None)
+        assert sq[1:] == (1, None)
+        assert sq[:3] == (None, 3)
+        assert sq[:] == (None, None)
         # negative indices, but no __len__
         assert sq[-1:3] == (-1, 3)
         assert sq[1:-3] == (1, -3)
         assert sq[-1:-3] == (-1, -3)
-        # extended slice syntax always uses __getitem__()
-        assert sq[::] == "booh"
+        # extended slice syntax also uses __getitem__()
+        assert sq[::] == (None, None)
 
     def test_ipow(self):
         x = 2
@@ -581,7 +563,7 @@
     def test_mod_failure(self):
         try:
             [] % 3
-        except TypeError, e:
+        except TypeError as e:
             assert '%' in str(e)
         else:
             assert False, "did not raise"
@@ -620,8 +602,8 @@
                 if cls is B:
                     return True
                 return False
-        class A:
-            __metaclass__ = Meta
+        A = Meta('A', (), {})  # like "class A(metaclass=Meta)", but
+                               # Python2 cannot parse this
         class B(A):
             pass
         a = A()
@@ -637,11 +619,11 @@
         assert issubclass(B, B)
         assert issubclass(23, B)
 
-    def test_truth_of_long(self):
+    def test_truth_of_int(self):
         class X(object):
-            def __len__(self): return 1L
+            def __len__(self): return 1
             __bool__ = __len__
-        assert X()
+        raises(TypeError, bool, X())
         del X.__bool__
         assert X()
 
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to