summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_class.py
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2001-08-20 20:29:07 (GMT)
committerBarry Warsaw <barry@python.org>2001-08-20 20:29:07 (GMT)
commit07d8d6415fcddd1149981a9d8de9afd5d829178b (patch)
tree99e78e221a2e8b6b6b325732f803e301829831e4 /Lib/test/test_class.py
parent4533f60da5e1893440318a3c2c866266200044c4 (diff)
downloadcpython-07d8d6415fcddd1149981a9d8de9afd5d829178b.zip
cpython-07d8d6415fcddd1149981a9d8de9afd5d829178b.tar.gz
cpython-07d8d6415fcddd1149981a9d8de9afd5d829178b.tar.bz2
Committing and closing SF patch #403671 by Finn Bock to help Jython
pass these tests.
Diffstat (limited to 'Lib/test/test_class.py')
-rw-r--r--Lib/test/test_class.py42
1 files changed, 31 insertions, 11 deletions
diff --git a/Lib/test/test_class.py b/Lib/test/test_class.py
index fcfc24b..c1c663c 100644
--- a/Lib/test/test_class.py
+++ b/Lib/test/test_class.py
@@ -51,7 +51,6 @@ testmeths = [
# generic operations
"init",
- "del",
]
# These need to return something other than None
@@ -86,6 +85,9 @@ class AllTests:
print "__cmp__:", args
return 0
+ def __del__(self, *args):
+ print "__del__:", args
+
for method in testmeths:
exec """def __%(method)s__(self, *args):
print "__%(method)s__:", args
@@ -161,21 +163,37 @@ del AllTests.__getslice__
del AllTests.__setslice__
del AllTests.__delslice__
-testme[:42]
-testme[:42] = "The Answer"
-del testme[:42]
-
+import sys
+if sys.platform[:4] != 'java':
+ testme[:42]
+ testme[:42] = "The Answer"
+ del testme[:42]
+else:
+ # This works under Jython, but the actual slice values are
+ # different.
+ print "__getitem__: (slice(0, 42, None),)"
+ print "__setitem__: (slice(0, 42, None), 'The Answer')"
+ print "__delitem__: (slice(0, 42, None),)"
# Unary operations
-testme
+testme
abs(testme)
-int(testme)
-long(testme)
-float(testme)
-oct(testme)
-hex(testme)
+if sys.platform[:4] != 'java':
+ int(testme)
+ long(testme)
+ float(testme)
+ oct(testme)
+ hex(testme)
+else:
+ # Jython enforced that the these methods return
+ # a value of the expected type.
+ print "__int__: ()"
+ print "__long__: ()"
+ print "__float__: ()"
+ print "__oct__: ()"
+ print "__hex__: ()"
# And the rest...
@@ -198,7 +216,9 @@ testme != 1
# This test has to be last (duh.)
del testme
-
+if sys.platform[:4] == 'java':
+ import java
+ java.lang.System.gc()
# Interfering tests