def testNamedselector(self):
        with warnings.catch_warnings():
            warnings.filterwarnings("ignore", category=DeprecationWarning)

            @objc.namedselector(b"foo:bar:")
            def mymethod(self, a, b):
                pass

            self.assertIsInstance(mymethod, objc.selector)
            self.assertEqual(mymethod.signature, b"v@:@@")
            self.assertEqual(mymethod.selector, b"foo:bar:")

            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:"), None)
            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:"), 42)

            @objc.namedselector(b"foo:bar:", signature=b"q@:qq")
            def mymethod(self, a, b):
                pass

            self.assertIsInstance(mymethod, objc.selector)
            self.assertEqual(mymethod.signature, b"q@:qq")
            self.assertEqual(mymethod.selector, b"foo:bar:")

            self.assertRaises(TypeError,
                              objc.namedselector(b"foo:bar:", b"q@:qq"), None)
            self.assertRaises(TypeError,
                              objc.namedselector(b"foo:bar:", b"q@:qq"), 42)
    def testNamedselector(self):
        with warnings.catch_warnings():
            @objc.namedselector(b'foo:bar:')
            def mymethod(self, a, b):
                pass

            self.assertIsInstance(mymethod, objc.selector)
            self.assertEqual(mymethod.signature, b"v@:@@")
            self.assertEqual(mymethod.selector, b"foo:bar:")

            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:"), None)
            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:"), 42)

            @objc.namedselector(b'foo:bar:', signature=b"q@:qq")
            def mymethod(self, a, b):
                pass

            self.assertIsInstance(mymethod, objc.selector)
            self.assertEqual(mymethod.signature, b"q@:qq")
            self.assertEqual(mymethod.selector, b"foo:bar:")

            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:", b"q@:qq"), None)
            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:", b"q@:qq"), 42)
    def testNamedselector(self):
        with filterWarnings("ignore", RuntimeWarning):
            @objc.namedselector(b'foo:bar:')
            def mymethod(self, a, b):
                pass

            self.assertIsInstance(mymethod, objc.selector)
            self.assertEqual(mymethod.signature, b"v@:@@")
            self.assertEqual(mymethod.selector, b"foo:bar:")

            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:"), None)
            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:"), 42)

            @objc.namedselector(b'foo:bar:', signature=b"q@:qq")
            def mymethod(self, a, b):
                pass

            self.assertIsInstance(mymethod, objc.selector)
            self.assertEqual(mymethod.signature, b"q@:qq")
            self.assertEqual(mymethod.selector, b"foo:bar:")

            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:", b"q@:qq"), None)
            self.assertRaises(TypeError, objc.namedselector(b"foo:bar:", b"q@:qq"), 42)