Source code for envisage.tests.test_import_manager
# (C) Copyright 2007-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!
""" Tests for the import manager. """
# Standard library imports.
import unittest
# Enthought library imports.
from envisage.api import Application, ImportManager
[docs]class ImportManagerTestCase(unittest.TestCase):
"""Tests for the import manager."""
[docs] def setUp(self):
"""Prepares the test fixture before each test method is called."""
# We do all of the testing via the application to make sure it offers
# the same interface!
self.import_manager = Application(import_manager=ImportManager())
[docs] def test_import_dotted_symbol(self):
"""import dotted symbol"""
import tarfile
symbol = self.import_manager.import_symbol("tarfile.TarFile")
self.assertEqual(symbol, tarfile.TarFile)
[docs] def test_import_nested_symbol(self):
"""import nested symbol"""
import tarfile
symbol = self.import_manager.import_symbol("tarfile:TarFile.open")
self.assertEqual(symbol, tarfile.TarFile.open)
[docs] def test_import_dotted_module(self):
"""import dotted module"""
symbol = self.import_manager.import_symbol(
"envisage.api:ImportManager"
)
self.assertEqual(symbol, ImportManager)