Commits

Armin Rigo  committed 225b223

(antocuni, arigo) Tests for the next thing to do

  • Participants
  • Parent commits 54aa4b5

Comments (0)

Files changed (1)

File src/test/test_cdata.py

+import py
 from ffi import FFI
 
 class FakeBackend(object):
     clong = ffi.typeof("long")
     assert isinstance(clong, FakePrimitiveType)
     assert clong.cdecl == 'long'
+
+def test_new_array_no_arg():
+    ffi = FFI(backend=FakeBackend())
+    p = ffi.new("int[10]")
+    # the object was zero-initialized:
+    for i in range(10):
+        assert p[i] == 0
+
+def test_array_indexing():
+    ffi = FFI(backend=FakeBackend())
+    p = ffi.new("int[10]")
+    p[0] = 42
+    p[9] = 43
+    assert p[0] == 42
+    assert p[9] == 43
+    py.test.raises(IndexError, "p[10]")
+    py.test.raises(IndexError, "p[10] = 44")
+    py.test.raises(IndexError, "p[-1]")
+    py.test.raises(IndexError, "p[-1] = 44")