From d2f7d733319d30f00c48f548bbcc96f86c79fe20 Mon Sep 17 00:00:00 2001 From: Antti Kaihola <13725+akaihola@users.noreply.github.com> Date: Fri, 19 Jun 2020 05:14:27 +0300 Subject: [PATCH] Correct super call in HookMetaPaths.__setitem__ (#3) Fixes #2 Also added a test. Co-authored-by: Antti Kaihola --- importhook/meta_paths.py | 2 +- importhook/tests/test_meta_paths.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 importhook/tests/test_meta_paths.py diff --git a/importhook/meta_paths.py b/importhook/meta_paths.py index 484dc4c..102d093 100644 --- a/importhook/meta_paths.py +++ b/importhook/meta_paths.py @@ -12,4 +12,4 @@ class HookMetaPaths(list): super(HookMetaPaths, self).__init__([hook_finder(f) for f in finders]) def __setitem__(self, key, val): - super(HookMetaPaths, self).__setitem__(hook_finder(val)) + super(HookMetaPaths, self).__setitem__(key, hook_finder(val)) diff --git a/importhook/tests/test_meta_paths.py b/importhook/tests/test_meta_paths.py new file mode 100644 index 0000000..fa8f16d --- /dev/null +++ b/importhook/tests/test_meta_paths.py @@ -0,0 +1,15 @@ +from importhook import HookMetaPaths + + +class DummyFinder: + pass + + +def test_hook_meta_paths_setitem(): + finder1 = DummyFinder() + finder2 = DummyFinder() + paths = HookMetaPaths([finder1, finder2]) + finder3 = DummyFinder() + paths[0] = finder3 + assert paths == [finder3, finder2] + assert finder3.__hooked__ is True