Commits

Anonymous committed 18be501

moving a non-package folder should raise exception

Comments (0)

Files changed (2)

rope/refactor/move.py

         self.pycore = project.pycore
         if not resource.is_folder() and resource.name == '__init__.py':
             resource = resource.parent
+        if resource.is_folder() and not resource.has_child('__init__.py'):
+            raise exceptions.RefactoringError(
+                'Cannot move non-package folder.')
         dummy_pymodule = self.pycore.get_string_module('')
         self.old_pyname = pynames.ImportedModule(dummy_pymodule,
                                                  resource=resource)

ropetest/refactor/movetest.py

             'import mod2\ns = """\\\n"""\nr = mod2.f()\n',
             self.mod1.read())
 
+    @testutils.assert_raises(exceptions.RefactoringError)
+    def test_raising_an_exception_when_moving_non_package_folders(self):
+        dir = self.project.root.create_folder('dir')
+        mover = move.create_move(self.project, dir)
+
 
 if __name__ == '__main__':
     unittest.main()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.