[pypy-svn] r48080 - pypy/dist/pypy/lang/smalltalk/test
niko at codespeak.net
niko at codespeak.net
Fri Oct 26 17:29:45 CEST 2007
Author: niko
Date: Fri Oct 26 17:29:45 2007
New Revision: 48080
Modified:
pypy/dist/pypy/lang/smalltalk/test/test_primitives.py
Log:
(niko, toon)
add tests to ensure that inst_var_at[_put] don't go past their bounds
Modified: pypy/dist/pypy/lang/smalltalk/test/test_primitives.py
==============================================================================
--- pypy/dist/pypy/lang/smalltalk/test/test_primitives.py (original)
+++ pypy/dist/pypy/lang/smalltalk/test/test_primitives.py Fri Oct 26 17:29:45 2007
@@ -265,6 +265,10 @@
["q", constants.CHARACTER_VALUE_INDEX+1])
assert w_v.value == ord("q")
+def test_inst_var_at_invalid():
+ # n.b.: 1-based indexing! (and an invalid index)
+ prim_fails(primitives.INST_VAR_AT, ["q", constants.CHARACTER_VALUE_INDEX+2])
+
def test_inst_var_at_put():
# n.b.: 1-based indexing!
w_q = classtable.w_Character.as_class_get_shadow().new()
@@ -274,6 +278,11 @@
assert prim(primitives.INST_VAR_AT_PUT, [w_q, vidx, ordq]).value == ordq
assert prim(primitives.INST_VAR_AT, [w_q, vidx]).value == ordq
+def test_inst_var_at_put_invalid():
+ # n.b.: 1-based indexing! (and an invalid index)
+ prim_fails(primitives.INST_VAR_AT_PUT,
+ ["q", constants.CHARACTER_VALUE_INDEX+2, "t"])
+
def test_class():
assert prim(primitives.CLASS, ["string"]) == classtable.w_String
assert prim(primitives.CLASS, [1]) == classtable.w_SmallInteger
More information about the Pypy-commit
mailing list