mirror of https://github.com/kivy/pyjnius.git
63 lines
2.4 KiB
Python
63 lines
2.4 KiB
Python
![]() |
from __future__ import print_function
|
||
|
from __future__ import division
|
||
|
from __future__ import absolute_import
|
||
|
import sys
|
||
|
import unittest
|
||
|
from jnius.reflect import autoclass
|
||
|
|
||
|
try:
|
||
|
long
|
||
|
except NameError:
|
||
|
# Python 3
|
||
|
long = int
|
||
|
|
||
|
|
||
|
def py2_encode(uni):
|
||
|
if sys.version_info < (3, 0):
|
||
|
uni = uni.encode('utf-8')
|
||
|
return uni
|
||
|
|
||
|
|
||
|
class VisibilityPublicProtectedTest(unittest.TestCase):
|
||
|
|
||
|
def test_static_fields_public_protected(self):
|
||
|
Test = autoclass('org.jnius.VisibilityTest', include_protected=True, include_private=False)
|
||
|
self.assertTrue(hasattr(Test, 'fieldStaticPublic'))
|
||
|
self.assertTrue(hasattr(Test, 'fieldStaticProtected'))
|
||
|
self.assertFalse(hasattr(Test, 'fieldStaticPrivate'))
|
||
|
|
||
|
self.assertEqual(Test.fieldStaticPublic, py2_encode("StaticPublic"))
|
||
|
self.assertEqual(Test.fieldStaticProtected, py2_encode("StaticProtected"))
|
||
|
|
||
|
def test_static_methods_public_protected(self):
|
||
|
Test = autoclass('org.jnius.VisibilityTest', include_protected=True, include_private=False)
|
||
|
|
||
|
self.assertTrue(hasattr(Test, 'methodStaticPublic'))
|
||
|
self.assertTrue(hasattr(Test, 'methodStaticProtected'))
|
||
|
self.assertFalse(hasattr(Test, 'methodStaticPrivate'))
|
||
|
|
||
|
self.assertEqual(Test.methodStaticPublic(), py2_encode("StaticPublic"))
|
||
|
self.assertEqual(Test.methodStaticProtected(), py2_encode("StaticProtected"))
|
||
|
|
||
|
def test_fields_public_protected(self):
|
||
|
Test = autoclass('org.jnius.VisibilityTest', include_protected=True, include_private=False)
|
||
|
public_only_test = Test()
|
||
|
|
||
|
self.assertTrue(hasattr(public_only_test, 'fieldPublic'))
|
||
|
self.assertTrue(hasattr(public_only_test, 'fieldProtected'))
|
||
|
self.assertFalse(hasattr(public_only_test, 'fieldPrivate'))
|
||
|
|
||
|
self.assertEqual(public_only_test.fieldPublic, py2_encode("Public"))
|
||
|
self.assertEqual(public_only_test.fieldProtected, py2_encode("Protected"))
|
||
|
|
||
|
def test_methods_public_protected(self):
|
||
|
Test = autoclass('org.jnius.VisibilityTest', include_protected=True, include_private=False)
|
||
|
public_only_test = Test()
|
||
|
|
||
|
self.assertTrue(hasattr(public_only_test, 'methodPublic'))
|
||
|
self.assertTrue(hasattr(public_only_test, 'methodProtected'))
|
||
|
self.assertFalse(hasattr(public_only_test, 'methodPrivate'))
|
||
|
|
||
|
self.assertEqual(public_only_test.methodPublic(), py2_encode("Public"))
|
||
|
self.assertEqual(public_only_test.methodProtected(), py2_encode("Protected"))
|