diff options
-rw-r--r-- | ranger/container/commandlist.py | 5 | ||||
-rw-r--r-- | test/tc_commandlist.py | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/ranger/container/commandlist.py b/ranger/container/commandlist.py index eca73f23..2ba22ef7 100644 --- a/ranger/container/commandlist.py +++ b/ranger/container/commandlist.py @@ -141,7 +141,12 @@ class CommandList(object): for k in keys: del self.paths[k] + def clear(self): + """remove all bindings""" + self.paths.clear() + del self.commandlist[:] + class Command(object): """Command objects store information about a command""" diff --git a/test/tc_commandlist.py b/test/tc_commandlist.py index ed9b1bd7..86afdc99 100644 --- a/test/tc_commandlist.py +++ b/test/tc_commandlist.py @@ -51,4 +51,13 @@ class Test(TestCase): self.assertEqual(dmy, cl['aaa']) self.assertEqual(fnc, cl['aaaa'].execute) + cl.clear() + self.assertKeyError(cl, 'a') + self.assertKeyError(cl, 'aa') + self.assertKeyError(cl, 'aaa') + self.assertKeyError(cl, 'aaaa') + self.assertKeyError(cl, 'aab') + self.assertKeyError(cl, 'aabb') + + if __name__ == '__main__': main() |