зеркало из https://github.com/mozilla/gecko-dev.git
39 строки
1.2 KiB
Python
39 строки
1.2 KiB
Python
from macholib import dylib
|
|
|
|
import sys
|
|
if sys.version_info[:2] <= (2,6):
|
|
import unittest2 as unittest
|
|
else:
|
|
import unittest
|
|
|
|
def d(location=None, name=None, shortname=None, version=None, suffix=None):
|
|
return dict(
|
|
location=location,
|
|
name=name,
|
|
shortname=shortname,
|
|
version=version,
|
|
suffix=suffix
|
|
)
|
|
|
|
class TestDylib (unittest.TestCase):
|
|
def testInvalid(self):
|
|
self.assertTrue(dylib.dylib_info('completely/invalid') is None)
|
|
self.assertTrue(dylib.dylib_info('completely/invalid_debug') is None)
|
|
|
|
def testUnversioned(self):
|
|
self.assertEqual(dylib.dylib_info('P/Foo.dylib'),
|
|
d('P', 'Foo.dylib', 'Foo'))
|
|
self.assertEqual(dylib.dylib_info('P/Foo_debug.dylib'),
|
|
d('P', 'Foo_debug.dylib', 'Foo', suffix='debug'))
|
|
|
|
def testVersioned(self):
|
|
self.assertEqual(dylib.dylib_info('P/Foo.A.dylib'),
|
|
d('P', 'Foo.A.dylib', 'Foo', 'A'))
|
|
self.assertEqual(dylib.dylib_info('P/Foo_debug.A.dylib'),
|
|
d('P', 'Foo_debug.A.dylib', 'Foo_debug', 'A'))
|
|
self.assertEqual(dylib.dylib_info('P/Foo.A_debug.dylib'),
|
|
d('P', 'Foo.A_debug.dylib', 'Foo', 'A', 'debug'))
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|