Mercurial > hg > dotemacs
view elpa/elpy-1.25.0/elpy/tests/test_pydocutils.py @ 182:c3bd84985977
upgrade elpy to 1.25
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Thu, 11 Oct 2018 15:38:33 -0400 |
parents | elpa/elpy-1.18.0/elpy/tests/test_pydocutils.py@56ea66d76309 |
children |
line wrap: on
line source
import os import unittest import shutil import sys import tempfile import mock import elpy.pydocutils class TestGetPydocCompletions(unittest.TestCase): def test_should_return_top_level_modules(self): modules = elpy.pydocutils.get_pydoc_completions("") self.assertIn('sys', modules) self.assertIn('json', modules) def test_should_return_submodules(self): modules = elpy.pydocutils.get_pydoc_completions("elpy") self.assertIn("elpy.rpc", modules) self.assertIn("elpy.server", modules) modules = elpy.pydocutils.get_pydoc_completions("os") self.assertIn("os.path", modules) def test_should_find_objects_in_module(self): self.assertIn("elpy.tests.test_pydocutils.TestGetPydocCompletions", elpy.pydocutils.get_pydoc_completions ("elpy.tests.test_pydocutils")) def test_should_find_attributes_of_objects(self): attribs = elpy.pydocutils.get_pydoc_completions( "elpy.tests.test_pydocutils.TestGetPydocCompletions") self.assertIn("elpy.tests.test_pydocutils.TestGetPydocCompletions." "test_should_find_attributes_of_objects", attribs) def test_should_return_none_for_inexisting_module(self): self.assertEqual([], elpy.pydocutils.get_pydoc_completions ("does_not_exist")) def test_should_work_for_unicode_strings(self): self.assertIsNotNone(elpy.pydocutils.get_pydoc_completions (u"sys")) def test_should_find_partial_completions(self): self.assertIn("multiprocessing", elpy.pydocutils.get_pydoc_completions ("multiprocess")) self.assertIn("multiprocessing.util", elpy.pydocutils.get_pydoc_completions ("multiprocessing.ut")) def test_should_ignore_trailing_dot(self): self.assertIn("elpy.pydocutils", elpy.pydocutils.get_pydoc_completions ("elpy.")) class TestGetModules(unittest.TestCase): def test_should_return_top_level_modules(self): modules = elpy.pydocutils.get_modules() self.assertIn('sys', modules) self.assertIn('json', modules) def test_should_return_submodules(self): modules = elpy.pydocutils.get_modules("elpy") self.assertIn("rpc", modules) self.assertIn("server", modules) @mock.patch.object(elpy.pydocutils, 'safeimport') def test_should_catch_import_errors(self, safeimport): def raise_function(message): raise elpy.pydocutils.ErrorDuringImport(message, (None, None, None)) safeimport.side_effect = raise_function self.assertEqual([], elpy.pydocutils.get_modules("foo.bar")) def test_should_not_fail_for_permission_denied(self): tmpdir = tempfile.mkdtemp(prefix="test-elpy-get-modules-") sys.path.append(tmpdir) os.chmod(tmpdir, 0o000) try: elpy.pydocutils.get_modules() finally: os.chmod(tmpdir, 0o755) shutil.rmtree(tmpdir) sys.path.remove(tmpdir)