[pypy-svn] r27530 - pypy/dist/pypy/translator/js2/test

fijal at codespeak.net fijal at codespeak.net
Sun May 21 12:23:11 CEST 2006


Author: fijal
Date: Sun May 21 12:23:09 2006
New Revision: 27530

Added:
   pypy/dist/pypy/translator/js2/test/test_merge_if_blocks.py
Log:
Added another passing test


Added: pypy/dist/pypy/translator/js2/test/test_merge_if_blocks.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/translator/js2/test/test_merge_if_blocks.py	Sun May 21 12:23:09 2006
@@ -0,0 +1,81 @@
+import py
+
+from pypy.translator.js2.test.runtest import compile_function 
+
+import sys
+
+def test_merge_if_blocks_simple():
+    def merge_if_blocks_simple(i):
+        if i == 5:
+            return 1005
+        else:
+            return 2222
+    simple = compile_function(merge_if_blocks_simple, [int])
+    for i in range(-20,20):
+        assert simple(i) == merge_if_blocks_simple(i)
+
+def test_merge_if_blocks_basic():
+    def merge_if_blocks_basic(i):
+        if i == 5:
+            return 1005
+        elif i == 8:
+            return 1008
+        return 2222
+    basic  = compile_function(merge_if_blocks_basic , [int])
+    for i in range(-20,20):
+        assert basic(i) == merge_if_blocks_basic(i)
+
+def test_merge_if_blocks_chr():
+    py.test.skip("String support in ootypesystem")
+    def merge_if_blocks_chr(i):
+        c = chr(i)
+        if c == '\x05':
+            return 1005
+        elif c == '!':
+            return 1008
+        return 2222
+    basic  = compile_function(merge_if_blocks_chr , [int])
+    for i in range(0, 50):
+        assert basic(i) == merge_if_blocks_chr(i)
+
+def test_merge_if_blocks_uni():
+    py.test.skip("String support in ootypesystem")
+    def merge_if_blocks_uni(i):
+        c = unichr(i)
+        if c == u'\x05':
+            return 1005
+        elif c == u'!':
+            return 1008
+        return 2222
+    basic  = compile_function(merge_if_blocks_uni , [int])
+    for i in range(0, 50):
+        assert basic(i) == merge_if_blocks_uni(i)
+
+
+def test_merge_if_blocks_many():
+    def merge_if_blocks_many(i):
+        if i == 0:
+            return 1000 
+        elif i == 1:
+            return 1001
+        elif i == 2:
+            return 1002
+        elif i == 3:
+            return 1003
+        elif i == 4:
+            return 1004
+        elif i == 5:
+            return 1005
+        elif i == 6:
+            return 1006
+        elif i == 7:
+            return 1007
+        elif i == 8:
+            return 1008
+        elif i == 9:
+            return 1009
+        else:
+            return 2222
+    many   = compile_function(merge_if_blocks_many  , [int])
+    for i in range(-20,20):
+        assert many(i)   == merge_if_blocks_many(i)



More information about the Pypy-commit mailing list