| import py |
| from cffi import FFI |
| |
| class FakeBackend(object): |
| |
| def nonstandard_integer_types(self): |
| return {} |
| |
| def sizeof(self, name): |
| return 1 |
| |
| def load_library(self, path): |
| return "fake library" |
| |
| def new_primitive_type(self, name): |
| return FakeType("primitive " + name) |
| |
| def new_void_type(self): |
| return FakeType("void") |
| def new_pointer_type(self, x): |
| return FakeType('ptr-to-%r' % (x,)) |
| def new_array_type(self, x, y): |
| return FakeType('array-from-%r-len-%r' % (x, y)) |
| def cast(self, x, y): |
| return 'casted!' |
| def _get_types(self): |
| return "CData", "CType" |
| |
| buffer = "buffer type" |
| |
| |
| class FakeType(object): |
| def __init__(self, cdecl): |
| self.cdecl = cdecl |
| |
| |
| def test_typeof(): |
| ffi = FFI(backend=FakeBackend()) |
| clong = ffi.typeof("signed long int") |
| assert isinstance(clong, FakeType) |
| assert clong.cdecl == 'primitive long' |