diff options
-rw-r--r-- | summainlib.py | 2 | ||||
-rw-r--r-- | summainlib_tests.py | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/summainlib.py b/summainlib.py index fa0953e..c2dc2ff 100644 --- a/summainlib.py +++ b/summainlib.py @@ -259,6 +259,8 @@ class FilesystemObject(object): value = getattr(self, method)() if value is not None: self.values[key] = value + else: + raise KeyError(key) return self.values.get(key, '') def _isdir(self): diff --git a/summainlib_tests.py b/summainlib_tests.py index 6fe7549..4121fd8 100644 --- a/summainlib_tests.py +++ b/summainlib_tests.py @@ -97,6 +97,10 @@ class FilesystemObjectTests(unittest.TestCase): md5=FakeChecksummer(), open_file=FakeOpenFile(), readlink=FakeReadlink(self)) + + def test_raises_keyerror_for_unknown_field(self): + self.assertRaises(KeyError, self.new('foo').__getitem__, + 'UNKNOWNHASH') def test_formats_simple_name_identically(self): self.assertEqual(self.new('foo')['Name'], 'foo') |