From 6b576533f237c8356b47e08fb7e45905b37bad1c Mon Sep 17 00:00:00 2001 From: Antti Kaihola Date: Sat, 13 Jun 2020 21:54:40 +0300 Subject: [PATCH] Correct super call in HookMetaPaths.__setitem__ Fixes #2 Also added a test. --- 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