| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import unittest
- import os
- import shutil
- from importer import separate_imports, Importer
- d = os.path.realpath('') + '/'
- class TestImporter(unittest.TestCase):
- def setUp(self):
- self.none = 'no imports'
- self.single = 'import bar'
- self.multiple = 'import bar, baz\nfoobar'
- self.multiline = 'import bar, \\\n baz\nfoobarbaz'
- if os.path.exists('foo'):
- shutil.rmtree('foo')
- os.mkdir('foo')
- for name in ('none', 'single', 'multiple', 'multiline'):
- f = open('foo/' + name, 'w')
- f.write(self.__getattribute__(name))
- f.close()
- self.importer = Importer(root='foo/')
- def tearDown(self):
- shutil.rmtree('foo')
- def test___init__(self):
- self.assertEqual(self.importer.root, d + 'foo/')
- self.assertEqual(self.importer.extension, '')
- def test___init___extension(self):
- self.assertEqual(Importer(root='foo/', extension='txt').extension, '.txt')
- def test_separate_imports(self):
- self.assertEqual(separate_imports(self.none), ([], self.none))
- self.assertEqual(separate_imports(self.single), (['bar'], ''))
- self.assertEqual(separate_imports(self.multiple),
- (['bar', 'baz'], 'foobar'))
- self.assertEqual(separate_imports(self.multiline),
- (['bar', 'baz'], 'foobarbaz'))
- def test_create_full_paths_simple(self):
- self.assertEqual(self.importer.create_full_paths([]), [])
- self.assertEqual(self.importer.create_full_paths(['none']),
- [d + 'foo/none'])
- def test_create_full_paths_alias(self):
- self.importer.set_alias('bar', 'none')
- self.assertEqual(self.importer.create_full_paths(['.bar']),
- [d + 'foo/none'])
- self.assertRaises(ValueError, self.importer.create_full_paths,
- ['.foo'])
- def test_create_full_paths_relative_file(self):
- importer = Importer('')
- self.assertEqual(importer.create_full_paths(['none'], d + 'foo/single'),
- [d + 'foo/none'])
|