コード例 #1
0
    def testValueForKeyPath(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEqual(
            STUB.keyValue_forObject_key_(1, o, b"multiple".decode("ascii")),
            o._values["multiple"],
        )
        self.assertEqual(
            STUB.keyValue_forObject_key_(1, o,
                                         b"multiple.level2".decode("ascii")),
            o._values["multiple"]._values["level2"],
        )
        self.assertEqual(
            STUB.keyValue_forObject_key_(
                1, o, b"multiple.level2.level3.keyA".decode("ascii")),
            o._values["multiple"]._values["level2"]._values["level3"].
            _values["keyA"],
        )
        self.assertEqual(
            STUB.keyValue_forObject_key_(
                1, o, b"multiple.level2.level3.keyB".decode("ascii")),
            o._values["multiple"]._values["level2"]._values["level3"].
            _values["keyB"],
        )

        self.assertRaises(
            KeyError,
            STUB.keyValue_forObject_key_,
            1,
            o,
            b"multiple.level2.nokey".decode("ascii"),
        )
コード例 #2
0
        def testKVO2(self):
            """
            Check if observations work for python-based keys on ObjC classes
            """
            observer = KeyValueObserver.alloc().init()
            self.assertEqual(observer.observed, [])

            o = KeyValueClass1.alloc().init()

            o.addObserver_forKeyPath_options_context_(observer,
                                                      b"key3".decode("ascii"),
                                                      0, 0)
            try:
                STUB.setKeyValue_forObject_key_value_(2, o,
                                                      b"key3".decode("ascii"),
                                                      b"drie".decode("ascii"))
                self.assertEqual(o.key3, b"drie".decode("ascii"))

                self.assertEqual(len(observer.observed), 1)

                keyPath, object, change = observer.observed[0]
                self.assertEqual(keyPath, b"key3".decode("ascii"))
                self.assertIs(object, o)
                self.assertEqual(change, {NSKeyValueChangeKindKey: 1})

            finally:
                o.removeObserver_forKeyPath_(observer, b"key3".decode("ascii"))
コード例 #3
0
        def testKVO3(self):
            """
            Check if observations work for python-based keys on ObjC classes
            """
            observer = KeyValueObserver.alloc().init()
            self.assertEqual(observer.observed, [])

            o = KeyValueClass1.alloc().init()
            STUB.setKeyValue_forObject_key_value_(2, o,
                                                  b'key3'.decode('ascii'),
                                                  b'three'.decode('ascii'))

            o.addObserver_forKeyPath_options_context_(
                observer, b"key3".decode('ascii'),
                NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld, 0)
            try:
                STUB.setKeyValue_forObject_key_value_(2, o,
                                                      b'key3'.decode('ascii'),
                                                      b'drie'.decode('ascii'))
                self.assertEqual(o.key3, b"drie".decode('ascii'))

                self.assertEqual(len(observer.observed), 1)

                keyPath, object, change = observer.observed[0]
                self.assertEqual(keyPath, b"key3".decode('ascii'))
                self.assert_(object is o)
                self.assertEqual(
                    change, {
                        NSKeyValueChangeKindKey: 1,
                        NSKeyValueChangeNewKey: b'drie'.decode('ascii'),
                        NSKeyValueChangeOldKey: b'three'.decode('ascii')
                    })

            finally:
                o.removeObserver_forKeyPath_(observer, b'key3'.decode('ascii'))
コード例 #4
0
    def testBytes(self):
        r = PyObjC_TestClass3.makeDataWithBytes_method_(MyData3, 1)
        b = PyObjC_TestClass3.getBytes_(r)
        self.assertEquals(str(b.bytes()), 'hello world')

        self.assertEquals(b.getBytes_length_(None, 4), 'hell')
        self.assertEquals(b.getBytes_range_(None, NSRange(2, 4)), 'llo ')
コード例 #5
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
        def testKVO3(self):
            """
            Check if observations work for python-based keys on ObjC classes
            """
            observer = KeyValueObserver.alloc().init()
            self.assertEquals(observer.observed, [])

            o = KeyValueClass1.alloc().init()
            STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'three')

            o.addObserver_forKeyPath_options_context_(observer, u"key3",
                    NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld,
                    0)
            try:
                STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'drie')
                self.assertEquals(o.key3, u"drie")

                self.assertEquals(len(observer.observed), 1)

                keyPath, object, change = observer.observed[0]
                self.assertEquals(keyPath, u"key3")
                self.assert_(object is o)
                self.assertEquals(change,
                    {
                        NSKeyValueChangeKindKey:1,
                        NSKeyValueChangeNewKey:u'drie',
                        NSKeyValueChangeOldKey:u'three'
                    })

            finally:
                o.removeObserver_forKeyPath_(observer, u'key3')
コード例 #6
0
ファイル: test_keyvalue.py プロジェクト: benoit-pierre/pyobjc
        def testKVO3(self):
            """
            Check if observations work for python-based keys on ObjC classes
            """
            observer = KeyValueObserver.alloc().init()
            self.assertEqual(observer.observed, [])

            o = KeyValueClass1.alloc().init()
            STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'three'.decode('ascii'))

            o.addObserver_forKeyPath_options_context_(observer, b"key3".decode('ascii'),
                    NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld,
                    0)
            try:
                STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'drie'.decode('ascii'))
                self.assertEqual(o.key3, b"drie".decode('ascii'))

                self.assertEqual(len(observer.observed), 1)

                keyPath, object, change = observer.observed[0]
                self.assertEqual(keyPath, b"key3".decode('ascii'))
                self.assert_(object is o)
                self.assertEqual(change,
                    {
                        NSKeyValueChangeKindKey:1,
                        NSKeyValueChangeNewKey:b'drie'.decode('ascii'),
                        NSKeyValueChangeOldKey:b'three'.decode('ascii')
                    })

            finally:
                o.removeObserver_forKeyPath_(observer, b'key3'.decode('ascii'))
コード例 #7
0
    def testTakeValueForKeyPath(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEqual(
            o._values["multiple"]._values["level2"]._values["level3"].
            _values["keyA"],
            "hello",
        )
        self.assertEqual(
            o._values["multiple"]._values["level2"]._values["level3"].
            _values["keyB"],
            "world",
        )

        STUB.setKeyValue_forObject_key_value_(1, o,
                                              "multiple.level2.level3.keyA",
                                              "KeyAValue")
        self.assertEqual(
            o._values["multiple"]._values["level2"]._values["level3"].
            _values["keyA"],
            "KeyAValue",
        )

        STUB.setKeyValue_forObject_key_value_(1, o,
                                              "multiple.level2.level3.keyB",
                                              9.999)
        self.assertEqual(
            o._values["multiple"]._values["level2"]._values["level3"].
            _values["keyB"],
            9.999,
        )
コード例 #8
0
    def testTakeValuesFromDictionary(self):
        o = KeyValueClass1.alloc().init()

        self.assertEqual(o.key3, 3)
        self.assertEqual(o._key4, b"4".decode("ascii"))
        o.key5 = 1
        self.assertNotHasAttr(o, b"key9".decode("ascii"))

        STUB.setKeyValue_forObject_key_value_(
            3,
            o,
            None,
            {
                b"key3".decode("ascii"): b"drie".decode("ascii"),
                b"key4".decode("ascii"): b"vier".decode("ascii"),
                b"key5".decode("ascii"): b"V".decode("ascii"),
                b"key9".decode("ascii"): b"IX".decode("ascii"),
            },
        )

        self.assertEqual(o.key3, b"drie".decode("ascii"))
        self.assertEqual(o._key4, b"viervierviervier".decode("ascii"))
        self.assertEqual(o.key5, b"VVVVV".decode("ascii"))
        self.assertHasAttr(o, b"key9".decode("ascii"))
        self.assertEqual(o.key9, b"IX".decode("ascii"))
コード例 #9
0
ファイル: test_keyvalue.py プロジェクト: happylaodu/osx-10.9
        def testKVO3(self):
            """
            Check if observations work for python-based keys on ObjC classes
            """
            observer = KeyValueObserver.alloc().init()
            self.assertEquals(observer.observed, [])

            o = KeyValueClass1.alloc().init()
            STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'three')

            o.addObserver_forKeyPath_options_context_(
                observer, u"key3",
                NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld, 0)
            try:
                STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'drie')
                self.assertEquals(o.key3, u"drie")

                self.assertEquals(len(observer.observed), 1)

                keyPath, object, change = observer.observed[0]
                self.assertEquals(keyPath, u"key3")
                self.assert_(object is o)
                self.assertEquals(
                    change, {
                        NSKeyValueChangeKindKey: 1,
                        NSKeyValueChangeNewKey: u'drie',
                        NSKeyValueChangeOldKey: u'three'
                    })

            finally:
                o.removeObserver_forKeyPath_(observer, u'key3')
コード例 #10
0
ファイル: test_nsdata.py プロジェクト: kamitchell/pyobjc
    def testBytes(self):
        r = PyObjC_TestClass3.makeDataWithBytes_method_(MyData3, 1)
        b = PyObjC_TestClass3.getBytes_(r)
        self.assertEquals(str(b.bytes()), 'hello world')

        self.assertEquals(b.getBytes_length_(None, 4), 'hell')
        self.assertEquals(b.getBytes_range_(None, NSRange(2, 4)), 'llo ')
コード例 #11
0
    def testTakeValuesFromDictionary(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEqual(o._values["key3"], 3)
        self.assertEqual(o._values["key4"], b"4".decode("ascii"))
        o._values["key5"] = 1
        self.assertNotIn("key9", o._values)

        STUB.setKeyValue_forObject_key_value_(
            3,
            o,
            None,
            {
                b"key3".decode("ascii"): b"drie".decode("ascii"),
                b"key4".decode("ascii"): b"vier".decode("ascii"),
                b"key5".decode("ascii"): b"V".decode("ascii"),
                b"key9".decode("ascii"): b"IX".decode("ascii"),
            },
        )

        self.assertEqual(o._values["key3"], b"drie".decode("ascii"))
        self.assertEqual(o._values["key4"],
                         b"viervierviervier".decode("ascii"))
        self.assertEqual(o._values["key5"], b"VVVVV".decode("ascii"))
        self.assertEqual(o._values["key9"], b"IX".decode("ascii"))
コード例 #12
0
    def testStoredValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEqual(STUB.keyValue_forObject_key_(2, o, "foo"), "foobar")
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, "bar"),
                         "foobarfoobar")
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, "roprop"),
                         "read-only")
コード例 #13
0
ファイル: test_keyvalue.py プロジェクト: ivanmolera/Raspberry
    def testTakeValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEqual(o.foo, b"foobar".decode('ascii'))
        STUB.setKeyValue_forObject_key_value_(0, o, b'foo'.decode('ascii'), b'FOO'.decode('ascii'))
        self.assertEqual(o.foo, b"FOO".decode('ascii'))

        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 0, o, b'key9'.decode('ascii'), b'IX'.decode('ascii'))
コード例 #14
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testTakeValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEquals(o.foo, u"foobar")
        STUB.setKeyValue_forObject_key_value_(0, o, u'foo', u'FOO')
        self.assertEquals(o.foo, u"FOO")

        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 0, o, u'key9', u'IX')
コード例 #15
0
    def testTakeValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEqual(o.foo, "foobar")
        STUB.setKeyValue_forObject_key_value_(0, o, "foo", "FOO")
        self.assertEqual(o.foo, "FOO")

        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 0,
                          o, "key9", "IX")
コード例 #16
0
ファイル: test_keyvalue.py プロジェクト: happylaodu/osx-10.9
    def testValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"foo"),
                          u"foobar")
        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"bar"),
                          u"foobarfoobar")
        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"roprop"),
                          u"read-only")
コード例 #17
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testTakeValuesFromDictionary2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEquals(o.foo, u"foobar")
        STUB.setKeyValue_forObject_key_value_(3, o, None, { u'foo': u'FOO' })
        self.assertEquals(o.foo, u"FOO")

        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, { u'key9':  u'IX' })
        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, { u'roprop':  u'IX' })
コード例 #18
0
ファイル: test_keyvalue.py プロジェクト: ivanmolera/Raspberry
    def testTakeValuesFromDictionary2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEqual(o.foo, b"foobar".decode('ascii'))
        STUB.setKeyValue_forObject_key_value_(3, o, None, { b'foo'.decode('ascii'): b'FOO'.decode('ascii') })
        self.assertEqual(o.foo, b"FOO".decode('ascii'))

        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, { b'key9'.decode('ascii'):  b'IX'.decode('ascii') })
        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, { b'roprop'.decode('ascii'):  b'IX'.decode('ascii') })
コード例 #19
0
ファイル: test_keyvalue.py プロジェクト: happylaodu/osx-10.9
    def testTakeValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEquals(o.foo, u"foobar")
        STUB.setKeyValue_forObject_key_value_(0, o, u'foo', u'FOO')
        self.assertEquals(o.foo, u"FOO")

        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 0,
                          o, u'key9', u'IX')
コード例 #20
0
ファイル: test_keyvalue.py プロジェクト: happylaodu/osx-10.9
    def testTakeValuesFromDictionary2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEquals(o.foo, u"foobar")
        STUB.setKeyValue_forObject_key_value_(3, o, None, {u'foo': u'FOO'})
        self.assertEquals(o.foo, u"FOO")

        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3,
                          o, None, {u'key9': u'IX'})
        self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3,
                          o, None, {u'roprop': u'IX'})
コード例 #21
0
ファイル: test_keyvalue.py プロジェクト: benoit-pierre/pyobjc
    def testStoredValueForKey(self):
        o = KeyValueClass1.alloc().init()
        o.addMultiple()

        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key1".decode('ascii')), 1)
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key2".decode('ascii')), 2)
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key3".decode('ascii')), 3)
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key4".decode('ascii')), "4")
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"multiple".decode('ascii')), o.multiple)

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 2, o, b"nokey".decode('ascii'))
コード例 #22
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testStoredValueForKey(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key1"), 1)
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key2"), 2)
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key3"), 3)
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key4"), "4")
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"multiple"), o._values['multiple'])

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 2, o, u"nokey")
コード例 #23
0
ファイル: test_keyvalue.py プロジェクト: ivanmolera/Raspberry
    def testStoredValueForKey(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key1".decode('ascii')), 1)
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key2".decode('ascii')), 2)
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key3".decode('ascii')), 3)
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key4".decode('ascii')), "4")
        self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"multiple".decode('ascii')), o._values['multiple'])

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 2, o, b"nokey".decode('ascii'))
コード例 #24
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testValueForKeyPath(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple"), o._values['multiple'])
        self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2"), o._values['multiple']._values['level2'])
        self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2.level3.keyA"),
            o._values['multiple']._values['level2']._values['level3']._values['keyA'])
        self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2.level3.keyB"),
            o._values['multiple']._values['level2']._values['level3']._values['keyB'])

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 1, o, u"multiple.level2.nokey")
コード例 #25
0
    def testStoredValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEqual(
            STUB.keyValue_forObject_key_(2, o, b"foo".decode('ascii')),
            b"foobar".decode('ascii'))
        self.assertEqual(
            STUB.keyValue_forObject_key_(2, o, b"bar".decode('ascii')),
            b"foobarfoobar".decode('ascii'))
        self.assertEqual(
            STUB.keyValue_forObject_key_(2, o, b"roprop".decode('ascii')),
            b"read-only".decode('ascii'))
コード例 #26
0
ファイル: test_keyvalue.py プロジェクト: ivanmolera/Raspberry
    def testTakeValueForKeyPath(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEqual(o._values['multiple']._values['level2']._values['level3']._values['keyA'], b"hello".decode('ascii'))
        self.assertEqual(o._values['multiple']._values['level2']._values['level3']._values['keyB'], b"world".decode('ascii'))

        STUB.setKeyValue_forObject_key_value_(1, o, b"multiple.level2.level3.keyA".decode('ascii'), b"KeyAValue".decode('ascii'))
        self.assertEqual(o._values['multiple']._values['level2']._values['level3']._values['keyA'], b"KeyAValue".decode('ascii'))

        STUB.setKeyValue_forObject_key_value_(1, o, b"multiple.level2.level3.keyB".decode('ascii'), 9.999)
        self.assertEqual(o._values['multiple']._values['level2']._values['level3']._values['keyB'], 9.999)
コード例 #27
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testTakeValueForKeyPath(self):
        o = KeyValueClass1.alloc().init()
        o.addMultiple()

        self.assertEquals(o.multiple.level2.level3.keyA, u"hello")
        self.assertEquals(o.multiple.level2.level3.keyB, u"world")

        STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyA", u"KeyAValue")
        self.assertEquals(o.multiple.level2.level3.keyA, u"KeyAValue")

        STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyB", 9.999)
        self.assertEquals(o.multiple.level2.level3.keyB, 9.999)
コード例 #28
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testTakeValueForKeyPath(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEquals(o._values['multiple']._values['level2']._values['level3']._values['keyA'], u"hello")
        self.assertEquals(o._values['multiple']._values['level2']._values['level3']._values['keyB'], u"world")

        STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyA", u"KeyAValue")
        self.assertEquals(o._values['multiple']._values['level2']._values['level3']._values['keyA'], u"KeyAValue")

        STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyB", 9.999)
        self.assertEquals(o._values['multiple']._values['level2']._values['level3']._values['keyB'], 9.999)
コード例 #29
0
ファイル: test_keyvalue.py プロジェクト: ivanmolera/Raspberry
    def testValueForKeyPath(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple".decode('ascii')), o._values['multiple'])
        self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2".decode('ascii')), o._values['multiple']._values['level2'])
        self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2.level3.keyA".decode('ascii')),
            o._values['multiple']._values['level2']._values['level3']._values['keyA'])
        self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2.level3.keyB".decode('ascii')),
            o._values['multiple']._values['level2']._values['level3']._values['keyB'])

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 1, o, b"multiple.level2.nokey".decode('ascii'))
コード例 #30
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testValueForKeyPath(self):
        o = KeyValueClass1.alloc().init()
        o.addMultiple()

        self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple"), o.multiple)
        self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2"), o.multiple.level2)
        self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2.level3.keyA"),
            o.multiple.level2.level3.keyA)
        self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2.level3.keyB"),
            o.multiple.level2.level3.keyB)

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 1, o, u"multiple.level2.nokey")
コード例 #31
0
ファイル: test_keyvalue.py プロジェクト: benoit-pierre/pyobjc
    def testValueForKey(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key1".decode('ascii')), 1)

        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key2".decode('ascii')), 2)
        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key3".decode('ascii')), 3)
        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key4".decode('ascii')), "4")
        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"multiple".decode('ascii')), o._values['multiple'])

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, b"nokey".decode('ascii'))
コード例 #32
0
    def testBytes(self):
        r = PyObjC_TestClass3.makeDataWithBytes_method_(MyData3, 1)
        b = PyObjC_TestClass3.getBytes_(r)

        # Check for memoryview
        if isinstance(b.bytes(), memoryview):
            self.assertEqual(b.bytes().tobytes(), b'hello world')
        else:
            self.assertEqual(bytes(b.bytes()), b'hello world')

        self.assertEqual(b.getBytes_length_(None, 4), b'hell')
        self.assertEqual(b.getBytes_range_(None, NSRange(2, 4)), b'llo ')
コード例 #33
0
ファイル: test_nsdata.py プロジェクト: aosm/pyobjc
    def testBytes(self):
        r = PyObjC_TestClass3.makeDataWithBytes_method_(MyData3, 1)
        b = PyObjC_TestClass3.getBytes_(r)

        # Check for memoryview
        if isinstance(b.bytes(), memoryview):
            self.assertEqual(b.bytes().tobytes(), b'hello world')
        else:
            self.assertEqual(bytes(b.bytes()), b'hello world')

        self.assertEqual(b.getBytes_length_(None, 4), b'hell')
        self.assertEqual(b.getBytes_range_(None, NSRange(2, 4)), b'llo ')
コード例 #34
0
ファイル: test_keyvalue.py プロジェクト: ivanmolera/Raspberry
    def testValueForKeyPath(self):
        o = KeyValueClass1.alloc().init()
        o.addMultiple()

        self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple".decode('ascii')), o.multiple)
        self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2".decode('ascii')), o.multiple.level2)
        self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2.level3.keyA".decode('ascii')),
            o.multiple.level2.level3.keyA)
        self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2.level3.keyB".decode('ascii')),
            o.multiple.level2.level3.keyB)

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 1, o, b"multiple.level2.nokey".decode('ascii'))
コード例 #35
0
ファイル: test_keyvalue.py プロジェクト: happylaodu/osx-10.9
    def testStoredValueForKey(self):
        o = KeyValueClass1.alloc().init()
        o.addMultiple()

        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key1"), 1)
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key2"), 2)
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key3"), 3)
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key4"), "4")
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"multiple"),
                          o.multiple)

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 2, o,
                          u"nokey")
コード例 #36
0
    def testTakeValueForKey(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEqual(o._values['key3'], 3)
        STUB.setKeyValue_forObject_key_value_(0, o, b'key3'.decode('ascii'),
                                              b'drie'.decode('ascii'))
        self.assertEqual(o._values['key3'], b"drie".decode('ascii'))

        self.assertEqual(o._values['key4'], b"4".decode('ascii'))
        STUB.setKeyValue_forObject_key_value_(0, o, b'key4'.decode('ascii'),
                                              b'vier'.decode('ascii'))
        self.assert_(not hasattr(o, b"key4".decode('ascii')))
        self.assertEqual(o._values['key4'],
                         b"viervierviervier".decode('ascii'))

        o._values['key5'] = 1
        STUB.setKeyValue_forObject_key_value_(0, o, b'key5'.decode('ascii'),
                                              b'V'.decode('ascii'))
        self.assertEqual(o._values['key5'], b"VVVVV".decode('ascii'))

        self.assert_(not hasattr(o, b'key9'.decode('ascii')))
        self.assert_('key9' not in o._values)
        STUB.setKeyValue_forObject_key_value_(0, o, b'key9'.decode('ascii'),
                                              b'IX'.decode('ascii'))
        self.assert_(not hasattr(o, b'key9'.decode('ascii')))
        self.assert_('key9' in o._values)
        self.assertEqual(o._values['key9'], b'IX'.decode('ascii'))
コード例 #37
0
ファイル: test_keyvalue.py プロジェクト: happylaodu/osx-10.9
    def testValueForKey(self):
        o = KeyValueClass1Explicit.alloc().init()
        o.addMultiple()

        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key1"), 1)

        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key2"), 2)
        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key3"), 3)
        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key4"), "4")
        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"multiple"),
                          o._values['multiple'])

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o,
                          u"nokey")
コード例 #38
0
    def testTakeValueForKey(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEqual(o._values["key3"], 3)
        STUB.setKeyValue_forObject_key_value_(0, o, b"key3".decode("ascii"),
                                              b"drie".decode("ascii"))
        self.assertEqual(o._values["key3"], b"drie".decode("ascii"))

        self.assertEqual(o._values["key4"], b"4".decode("ascii"))
        STUB.setKeyValue_forObject_key_value_(0, o, b"key4".decode("ascii"),
                                              b"vier".decode("ascii"))
        self.assertNotHasAttr(o, b"key4".decode("ascii"))
        self.assertEqual(o._values["key4"],
                         b"viervierviervier".decode("ascii"))

        o._values["key5"] = 1
        STUB.setKeyValue_forObject_key_value_(0, o, b"key5".decode("ascii"),
                                              b"V".decode("ascii"))
        self.assertEqual(o._values["key5"], b"VVVVV".decode("ascii"))

        self.assertNotHasAttr(o, b"key9".decode("ascii"))
        self.assertNotIn("key9", o._values)
        STUB.setKeyValue_forObject_key_value_(0, o, b"key9".decode("ascii"),
                                              b"IX".decode("ascii"))
        self.assertNotHasAttr(o, b"key9".decode("ascii"))
        self.assertIn("key9", o._values)
        self.assertEqual(o._values["key9"], b"IX".decode("ascii"))
コード例 #39
0
ファイル: test_nsdictionary.py プロジェクト: Joey-Lee/pyobjc
    def testDictWithObjects(self):
        o = PyObjC_TestClass3.makeDictFromClass_method_(MyDictionary2, 0)

        self.assert_(isinstance(o, tuple))
        self.assertEquals(o[2], 4)
        self.assertEquals(len(o[1]), 4)
        self.assertEquals(len(o[0]), 4)
コード例 #40
0
ファイル: test_nsdictionary.py プロジェクト: Joey-Lee/pyobjc
    def testInitWithObjects(self):
        o = PyObjC_TestClass3.makeDictFromClass_method_(MyDictionary1, 1)

        self.assert_(isinstance(o, MyDictionary1))
        self.assertEquals(o._count, 4)
        self.assertEquals(len(o._keys), 4)
        self.assertEquals(len(o._objects), 4)
コード例 #41
0
ファイル: test_keyvalue.py プロジェクト: happylaodu/osx-10.9
    def testTakeValueForKeyPath(self):
        o = KeyValueClass1.alloc().init()
        o.addMultiple()

        self.assertEquals(o.multiple.level2.level3.keyA, u"hello")
        self.assertEquals(o.multiple.level2.level3.keyB, u"world")

        STUB.setKeyValue_forObject_key_value_(1, o,
                                              u"multiple.level2.level3.keyA",
                                              u"KeyAValue")
        self.assertEquals(o.multiple.level2.level3.keyA, u"KeyAValue")

        STUB.setKeyValue_forObject_key_value_(1, o,
                                              u"multiple.level2.level3.keyB",
                                              9.999)
        self.assertEquals(o.multiple.level2.level3.keyB, 9.999)
コード例 #42
0
    def testTakeValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEqual(o.foo, b"foobar".decode("ascii"))
        STUB.setKeyValue_forObject_key_value_(0, o, b"foo".decode("ascii"),
                                              b"FOO".decode("ascii"))
        self.assertEqual(o.foo, b"FOO".decode("ascii"))

        self.assertRaises(
            KeyError,
            STUB.setKeyValue_forObject_key_value_,
            0,
            o,
            b"key9".decode("ascii"),
            b"IX".decode("ascii"),
        )
コード例 #43
0
    def testDictWithObjects(self):
        o = PyObjC_TestClass3.makeDictFromClass_method_(MyDictionary2, 0)

        self.assertIsInstance(o, tuple)
        self.assertEqual(o[2], 4)
        self.assertEqual(len(o[1]), 4)
        self.assertEqual(len(o[0]), 4)
コード例 #44
0
    def testValuesForKeys(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEqual(
            STUB.keyValue_forObject_key_(
                3,
                o,
                [
                    b"key1".decode("ascii"),
                    b"key2".decode("ascii"),
                    b"key3".decode("ascii"),
                    b"key4".decode("ascii"),
                ],
            ),
            {
                b"key1".decode("ascii"): 1,
                b"key2".decode("ascii"): 2,
                b"key3".decode("ascii"): 3,
                b"key4".decode("ascii"): b"4".decode("ascii"),
            },
        )

        self.assertRaises(
            KeyError,
            STUB.keyValue_forObject_key_,
            3,
            o,
            [
                b"key1".decode("ascii"),
                b"key3".decode("ascii"),
                b"nosuchkey".decode("ascii"),
            ],
        )
コード例 #45
0
    def testInitWithObjects(self):
        o = PyObjC_TestClass3.makeDictFromClass_method_(MyDictionary1, 1)

        self.assertIsInstance(o, MyDictionary1)
        self.assertEqual(o._count, 4)
        self.assertEqual(len(o._keys), 4)
        self.assertEqual(len(o._objects), 4)
コード例 #46
0
ファイル: test_keyvalue.py プロジェクト: benoit-pierre/pyobjc
    def testTakeValuesFromDictionary(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEqual(o._values['key3'], 3)
        self.assertEqual(o._values['key4'], b"4".decode('ascii'))
        o._values['key5'] = 1
        self.assert_('key9' not in o._values)

        STUB.setKeyValue_forObject_key_value_(3, o, None,
            {
                b'key3'.decode('ascii'): b'drie'.decode('ascii'),
                b'key4'.decode('ascii'): b'vier'.decode('ascii'),
                b'key5'.decode('ascii'): b'V'.decode('ascii'),
                b'key9'.decode('ascii'): b'IX'.decode('ascii'),
            })

        self.assertEqual(o._values['key3'], b"drie".decode('ascii'))
        self.assertEqual(o._values['key4'], b"viervierviervier".decode('ascii'))
        self.assertEqual(o._values['key5'], b"VVVVV".decode('ascii'))
        self.assertEqual(o._values['key9'], b'IX'.decode('ascii'))
コード例 #47
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testTakeValuesFromDictionary(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEquals(o._values['key3'], 3)
        self.assertEquals(o._values['key4'], u"4")
        o._values['key5'] = 1
        self.assert_('key9' not in o._values)

        STUB.setKeyValue_forObject_key_value_(3, o, None,
            {
                u'key3': u'drie',
                u'key4': u'vier',
                u'key5': u'V',
                u'key9': u'IX',
            })

        self.assertEquals(o._values['key3'], u"drie")
        self.assertEquals(o._values['key4'], u"viervierviervier")
        self.assertEquals(o._values['key5'], u"VVVVV")
        self.assertEquals(o._values['key9'], u'IX')
コード例 #48
0
ファイル: test_keyvalue.py プロジェクト: benoit-pierre/pyobjc
    def testTakeValuesFromDictionary(self):
        o = KeyValueClass1.alloc().init()

        self.assertEqual(o.key3, 3)
        self.assertEqual(o._key4, b"4".decode('ascii'))
        o.key5 = 1
        self.assert_(not hasattr(o, b'key9'.decode('ascii')))

        STUB.setKeyValue_forObject_key_value_(3, o, None,
            {
                b'key3'.decode('ascii'): b'drie'.decode('ascii'),
                b'key4'.decode('ascii'): b'vier'.decode('ascii'),
                b'key5'.decode('ascii'): b'V'.decode('ascii'),
                b'key9'.decode('ascii'): b'IX'.decode('ascii'),
            })

        self.assertEqual(o.key3, b"drie".decode('ascii'))
        self.assertEqual(o._key4, b"viervierviervier".decode('ascii'))
        self.assertEqual(o.key5, b"VVVVV".decode('ascii'))
        self.assert_(hasattr(o, b'key9'.decode('ascii')))
        self.assertEqual(o.key9, b'IX'.decode('ascii'))
コード例 #49
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testTakeValuesFromDictionary(self):
        o = KeyValueClass1.alloc().init()

        self.assertEquals(o.key3, 3)
        self.assertEquals(o._key4, u"4")
        o.key5 = 1
        self.assert_(not hasattr(o, u'key9'))

        STUB.setKeyValue_forObject_key_value_(3, o, None,
            {
                u'key3': u'drie',
                u'key4': u'vier',
                u'key5': u'V',
                u'key9': u'IX',
            })

        self.assertEquals(o.key3, u"drie")
        self.assertEquals(o._key4, u"viervierviervier")
        self.assertEquals(o.key5, u"VVVVV")
        self.assert_(hasattr(o, u'key9'))
        self.assertEquals(o.key9, u'IX')
コード例 #50
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testTakeStoredValueForKey(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEquals(o._values['key3'], 3)
        STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'drie')
        self.assertEquals(o._values['key3'], u"drie")

        self.assertEquals(o._values['key4'], u"4")
        STUB.setKeyValue_forObject_key_value_(2, o, u'key4', u'vier')
        self.assertEquals(o._values['key4'], u"viervierviervier")

        o.key5 = 1
        STUB.setKeyValue_forObject_key_value_(2, o, u'key5', u'V')
        self.assertEquals(o._values['key5'], u"VVVVV")

        self.assert_('key9' not in o._values)
        STUB.setKeyValue_forObject_key_value_(2, o, u'key9', u'IX')
        self.assert_('key9' in o._values)
        self.assertEquals(o._values['key9'], u'IX')
コード例 #51
0
ファイル: test_keyvalue.py プロジェクト: benoit-pierre/pyobjc
    def testTakeStoredValueForKey(self):
        o = KeyValueClass1.alloc().init()

        self.assertEqual(o.key3, 3)
        STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'drie'.decode('ascii'))
        self.assertEqual(o.key3, b"drie".decode('ascii'))

        self.assertEqual(o._key4, b"4".decode('ascii'))
        STUB.setKeyValue_forObject_key_value_(2, o, b'key4'.decode('ascii'), b'vier'.decode('ascii'))
        self.assertEqual(o._key4, b"viervierviervier".decode('ascii'))

        o.key5 = 1
        STUB.setKeyValue_forObject_key_value_(2, o, b'key5'.decode('ascii'), b'V'.decode('ascii'))
        self.assertEqual(o.key5, b"VVVVV".decode('ascii'))

        self.assert_(not hasattr(o, b'key9'.decode('ascii')))
        STUB.setKeyValue_forObject_key_value_(2, o, b'key9'.decode('ascii'), b'IX'.decode('ascii'))
        self.assert_(hasattr(o, b'key9'.decode('ascii')))
        self.assertEqual(o.key9, b'IX'.decode('ascii'))
コード例 #52
0
ファイル: test_keyvalue.py プロジェクト: benoit-pierre/pyobjc
    def testTakeStoredValueForKey(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEqual(o._values['key3'], 3)
        STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'drie'.decode('ascii'))
        self.assertEqual(o._values['key3'], b"drie".decode('ascii'))

        self.assertEqual(o._values['key4'], b"4".decode('ascii'))
        STUB.setKeyValue_forObject_key_value_(2, o, b'key4'.decode('ascii'), b'vier'.decode('ascii'))
        self.assertEqual(o._values['key4'], b"viervierviervier".decode('ascii'))

        o.key5 = 1
        STUB.setKeyValue_forObject_key_value_(2, o, b'key5'.decode('ascii'), b'V'.decode('ascii'))
        self.assertEqual(o._values['key5'], b"VVVVV".decode('ascii'))

        self.assert_('key9' not in o._values)
        STUB.setKeyValue_forObject_key_value_(2, o, b'key9'.decode('ascii'), b'IX'.decode('ascii'))
        self.assert_('key9' in o._values)
        self.assertEqual(o._values['key9'], b'IX'.decode('ascii'))
コード例 #53
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testTakeStoredValueForKey(self):
        o = KeyValueClass1.alloc().init()

        self.assertEquals(o.key3, 3)
        STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'drie')
        self.assertEquals(o.key3, u"drie")

        self.assertEquals(o._key4, u"4")
        STUB.setKeyValue_forObject_key_value_(2, o, u'key4', u'vier')
        self.assertEquals(o._key4, u"viervierviervier")

        o.key5 = 1
        STUB.setKeyValue_forObject_key_value_(2, o, u'key5', u'V')
        self.assertEquals(o.key5, u"VVVVV")

        self.assert_(not hasattr(o, u'key9'))
        STUB.setKeyValue_forObject_key_value_(2, o, u'key9', u'IX')
        self.assert_(hasattr(o, u'key9'))
        self.assertEquals(o.key9, u'IX')
コード例 #54
0
ファイル: test_keyvalue.py プロジェクト: benoit-pierre/pyobjc
    def testValueForKey(self):
        o = KeyValueClass1.alloc().init()
        o.addMultiple()

        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key1".decode('ascii')), 1)

        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key2".decode('ascii')), 2)
        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key3".decode('ascii')), 3)
        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key4".decode('ascii')), "4")
        self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"multiple".decode('ascii')), o.multiple)

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, b"nokey".decode('ascii'))

        self.assertRaises(ValueError, STUB.keyValue_forObject_key_, 0, o,
                b"keyRaisingValueError".decode('ascii'))
        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o,
                b"keyRaisingNSUnknownKeyException".decode('ascii'))
        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o,
                b"keyReturningSameSelector".decode('ascii'))

        obj = STUB.keyValue_forObject_key_( 0, o, b"keyReturningOtherSelector".decode('ascii'))
        self.assertIsInstance(obj, objc.selector)
        self.assertEqual(obj.selector, b"getKey1")
        self.assertIs(obj.self, o )
コード例 #55
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testValueForKey(self):
        o = KeyValueClass1.alloc().init()
        o.addMultiple()

        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key1"), 1)

        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key2"), 2)
        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key3"), 3)
        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key4"), "4")
        self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"multiple"), o.multiple)

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, u"nokey")

        self.assertRaises(ValueError, STUB.keyValue_forObject_key_, 0, o,
                u"keyRaisingValueError")
        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o,
                u"keyRaisingNSUnknownKeyException")
        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o,
                u"keyReturningSameSelector")

        obj = STUB.keyValue_forObject_key_( 0, o, u"keyReturningOtherSelector")
        self.failUnless( isinstance(obj, objc.selector) )
        self.assertEquals(obj.selector, "getKey1")
        self.failUnless( obj.self is o )
コード例 #56
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testValuesForKeys(self):
        o = KeyValueClass1Explicit.alloc().init()

        self.assertEquals(STUB.keyValue_forObject_key_(3, o, [u"key1", u"key2", u"key3", u"key4"]), { u"key1":1, u"key2":2, u"key3": 3, u"key4": u"4"} )

        self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 3, o, [u"key1", u"key3", u"nosuchkey"])
コード例 #57
0
ファイル: test_keyvalue.py プロジェクト: Joey-Lee/pyobjc
    def testStoredValueForKey2(self):
        o = KeyValueClass4.alloc().init()

        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"foo"), u"foobar")
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"bar"), u"foobarfoobar")
        self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"roprop"), u"read-only")