def testBuffer(self): if sys.version_info[0] == 3: b = b"foo" else: b = buffer("foo") m = NSMutableData.dataWithData_(b) self.assertEqual(b[:], m[:]) self.assertTrue(objc.repythonify(b) is b) self.assertEqual(buffer(m)[:], m[:])
def testBoolArrayStruct(self): v = (42, [0, 1, 1, 0]) w = objc.repythonify(v, EmbeddedBoolArrayStruct.__typestr__) self.assertIsInstance(w, EmbeddedBoolArrayStruct) self.assertEqual(w.count, 42) self.assertIs(w.valid[0], False) self.assertIs(w.valid[1], True) self.assertIs(w.valid[2], True) self.assertIs(w.valid[3], False)
def testBuffer(self): if sys.version_info[0] == 3: b = b'foo' else: b = buffer('foo') m = NSMutableData.dataWithData_(b) self.assertEqual(b[:], m[:]) self.assert_(objc.repythonify(b) is b) self.assertEqual(buffer(m)[:], m[:])
def testArray(self): a = array.array('c', 'foo') m = NSMutableData.dataWithData_(a) self.assertEquals(a.tostring(), m[:]) self.assert_(objc.repythonify(a) is a) a.fromstring(m) self.assertEquals(a.tostring(), 'foofoo') m.appendData_(a) self.assertEquals(m[:], 'foofoofoo') m[3:6] = 'bar' self.assertEquals(m[:], 'foobarfoo')
def testArray(self): a = array.array('b', b'foo') m = NSMutableData.dataWithData_(a) self.assertEqual(array_tobytes(a), m[:]) self.assertTrue(objc.repythonify(a) is a) array_frombytes(a, m) self.assertEqual(array_tobytes(a), b'foofoo') m.appendData_(a) self.assertEqual(m[:], b'foofoofoo') m[3:6] = b'bar' self.assertEqual(m[:], b'foobarfoo')
def testArray(self): a = array.array('b', b'foo') m = NSMutableData.dataWithData_(a) self.assertEqual(a.tostring(), m[:]) self.assert_(objc.repythonify(a) is a) a.fromstring(m) self.assertEqual(a.tostring(), b'foofoo') m.appendData_(a) self.assertEqual(m[:], b'foofoofoo') m[3:6] = b'bar' self.assertEqual(m[:], b'foobarfoo')
def testClasses(self): # Ensure that python numbers are proxied using the right proxy type for v in (0, 1, 2**32+1, 2**64+1, 42.5): self.assert_(OC_TestNumber.numberClass_(v) is OC_PythonNumber) # The booleans True and False must be proxied as the corresponding # NSNumber constants, otherwise lowlevel Cocoa/CoreFoundation code # get's upset. boolClass = objc.lookUpClass('NSCFBoolean') for v in (True, False): self.assert_(OC_TestNumber.numberClass_(v) is boolClass) self.assert_(objc.repythonify(v) is v)
def testClasses(self): # Ensure that python numbers are proxied using the right proxy type for v in (0, 1, 2**32 + 1, 2**64 + 1, 42.5): self.assert_(OC_TestNumber.numberClass_(v) is OC_PythonNumber) # The booleans True and False must be proxied as the corresponding # NSNumber constants, otherwise lowlevel Cocoa/CoreFoundation code # get's upset. boolClass = objc.lookUpClass('NSCFBoolean') for v in (True, False): self.assert_(OC_TestNumber.numberClass_(v) is boolClass) self.assert_(objc.repythonify(v) is v)
def testArray(self): pool = NSAutoreleasePool.alloc().init() a = array.array("b", b"foo") m = NSMutableData.dataWithData_(a) self.assertEqual(array_tobytes(a), m[:]) self.assertTrue(objc.repythonify(a) is a) del pool array_frombytes(a, m) self.assertEqual(array_tobytes(a), b"foofoo") m.appendData_(a) self.assertEqual(m[:], b"foofoofoo") m[3:6] = b"bar" self.assertEqual(m[:], b"foobarfoo")
def testClasses(self): # Ensure that python numbers are proxied using the right proxy type for v in (0, 1, 2 ** 32 + 1, 2 ** 64 + 1, 42.5): self.assertIs(OC_TestNumber.numberClass_(v), OC_BuiltinPythonNumber) # The booleans True and False must be proxied as the corresponding # NSNumber constants, otherwise lowlevel Cocoa/CoreFoundation code # get's upset. try: boolClass = objc.lookUpClass("__NSCFBoolean") except objc.error: boolClass = objc.lookUpClass("NSCFBoolean") for v in (True, False): self.assertIs(OC_TestNumber.numberClass_(v), boolClass) self.assertIs(objc.repythonify(v), v)
def testBuffer(self): b = buffer('foo') m = NSMutableData.dataWithData_(b) self.assertEquals(b[:], m[:]) self.assert_(objc.repythonify(b) is b) self.assertEquals(buffer(m)[:], m[:])
def testBoolStruct(self): v = (55, True) w = objc.repythonify(v, EmbeddedBoolStruct.__typestr__) self.assertIsInstance(w, EmbeddedBoolStruct) self.assertEqual(w.count, 55) self.assertIs(w.isValid, True)
def testBuffer(self): b = b"foo" m = Foundation.NSMutableData.dataWithData_(b) self.assertEqual(b[:], m[:]) self.assertTrue(objc.repythonify(b) is b) self.assertEqual(memoryview(m)[:], m[:])