Skip to content

Commit

Permalink
Merge pull request #1555 from Codym48/fix/get_values
Browse files Browse the repository at this point in the history
Fix get_values() so it correctly loads section names
  • Loading branch information
Byron authored Feb 16, 2023
2 parents 202e31c + fc843d3 commit 0e5358a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
1 change: 1 addition & 0 deletions git/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -796,6 +796,7 @@ def get_values(
:raise TypeError: in case the value could not be understood
Otherwise the exceptions known to the ConfigParser will be raised."""
try:
self.sections()
lst = self._sections[section].getall(option)
except Exception:
if default is not None:
Expand Down
11 changes: 11 additions & 0 deletions test/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,17 @@ def test_empty_config_value(self):
with self.assertRaises(cp.NoOptionError):
cr.get_value("color", "ui")

def test_get_values_works_without_requiring_any_other_calls_first(self):
file_obj = self._to_memcache(fixture_path("git_config_multiple"))
cr = GitConfigParser(file_obj, read_only=True)
self.assertEqual(cr.get_values("section0", "option0"), ["value0"])
file_obj.seek(0)
cr = GitConfigParser(file_obj, read_only=True)
self.assertEqual(cr.get_values("section1", "option1"), ["value1a", "value1b"])
file_obj.seek(0)
cr = GitConfigParser(file_obj, read_only=True)
self.assertEqual(cr.get_values("section1", "other_option1"), ["other_value1"])

def test_multiple_values(self):
file_obj = self._to_memcache(fixture_path("git_config_multiple"))
with GitConfigParser(file_obj, read_only=False) as cw:
Expand Down

0 comments on commit 0e5358a

Please sign in to comment.