| """Test for the "import *" functionality. |
| |
| As import * can be only done at module level, it has been added in a separate file |
| """ |
| import pytest |
| |
| prev_locals = list(locals()) |
| from dateutil import * |
| new_locals = {name:value for name,value in locals().items() |
| if name not in prev_locals} |
| new_locals.pop('prev_locals') |
| |
| |
| @pytest.mark.import_star |
| def test_imported_modules(): |
| """ Test that `from dateutil import *` adds modules in __all__ locally """ |
| import dateutil.easter |
| import dateutil.parser |
| import dateutil.relativedelta |
| import dateutil.rrule |
| import dateutil.tz |
| import dateutil.utils |
| import dateutil.zoneinfo |
| |
| assert dateutil.easter == new_locals.pop("easter") |
| assert dateutil.parser == new_locals.pop("parser") |
| assert dateutil.relativedelta == new_locals.pop("relativedelta") |
| assert dateutil.rrule == new_locals.pop("rrule") |
| assert dateutil.tz == new_locals.pop("tz") |
| assert dateutil.utils == new_locals.pop("utils") |
| assert dateutil.zoneinfo == new_locals.pop("zoneinfo") |
| |
| assert not new_locals |