[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