OLD | NEW |
(Empty) | |
| 1 import unittest |
| 2 |
| 3 from ropetest import testutils |
| 4 from rope.contrib.fixmodnames import FixModuleNames |
| 5 from rope.contrib.generate import create_module, create_package |
| 6 |
| 7 |
| 8 # HACK: for making this test work on case-insensitive file-systems, it |
| 9 # uses a name.replace('x', '_') fixer. |
| 10 class FixModuleNamesTest(unittest.TestCase): |
| 11 |
| 12 def setUp(self): |
| 13 super(FixModuleNamesTest, self).setUp() |
| 14 self.project = testutils.sample_project() |
| 15 |
| 16 def tearDown(self): |
| 17 testutils.remove_project(self.project) |
| 18 super(FixModuleNamesTest, self).tearDown() |
| 19 |
| 20 def test_simple_module_renaming(self): |
| 21 mod = create_module(self.project, 'xod') |
| 22 self.project.do(FixModuleNames(self.project).get_changes(_fixer)) |
| 23 self.assertFalse(mod.exists()) |
| 24 self.assertTrue(self.project.get_resource('_od.py').exists()) |
| 25 |
| 26 def test_packages_module_renaming(self): |
| 27 pkg = create_package(self.project, 'xkg') |
| 28 self.project.do(FixModuleNames(self.project).get_changes(_fixer)) |
| 29 self.assertFalse(pkg.exists()) |
| 30 self.assertTrue(self.project.get_resource('_kg/__init__.py').exists()) |
| 31 |
| 32 def test_fixing_contents(self): |
| 33 mod1 = create_module(self.project, 'xod1') |
| 34 mod2 = create_module(self.project, 'xod2') |
| 35 mod1.write('import xod2\n') |
| 36 mod2.write('import xod1\n') |
| 37 self.project.do(FixModuleNames(self.project).get_changes(_fixer)) |
| 38 newmod1 = self.project.get_resource('_od1.py') |
| 39 newmod2 = self.project.get_resource('_od2.py') |
| 40 self.assertEquals('import _od2\n', newmod1.read()) |
| 41 self.assertEquals('import _od1\n', newmod2.read()) |
| 42 |
| 43 def test_handling_nested_modules(self): |
| 44 pkg = create_package(self.project, 'xkg') |
| 45 mod = create_module(self.project, 'xkg.xod') # noqa |
| 46 self.project.do(FixModuleNames(self.project).get_changes(_fixer)) |
| 47 self.assertFalse(pkg.exists()) |
| 48 self.assertTrue(self.project.get_resource('_kg/__init__.py').exists()) |
| 49 self.assertTrue(self.project.get_resource('_kg/_od.py').exists()) |
| 50 |
| 51 |
| 52 def _fixer(name): |
| 53 return name.replace('x', '_') |
| 54 |
| 55 if __name__ == '__main__': |
| 56 unittest.main() |
OLD | NEW |