Exemple #1
0
 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)
Exemple #3
0
 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[:])
Exemple #4
0
 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')
Exemple #5
0
 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')
Exemple #6
0
 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')
Exemple #7
0
 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')
Exemple #8
0
    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)
Exemple #9
0
    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)
Exemple #10
0
 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")
Exemple #11
0
    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)
Exemple #12
0
 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)
Exemple #14
0
 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[:])
Exemple #15
0
 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[:])