blob: 8773b0b9aa9a8afbc669b0211765542353005efa [file] [log] [blame]
Mike Frysingerf6013762019-06-13 02:30:51 -04001# -*- coding:utf-8 -*-
2
David Aguilar438c5472009-06-28 15:09:16 -07003import os
4import unittest
5
6import git_config
7
8def fixture(*paths):
David Pursehousec1b86a22012-11-14 11:36:51 +09009 """Return a path relative to test/fixtures.
10 """
11 return os.path.join(os.path.dirname(__file__), 'fixtures', *paths)
David Aguilar438c5472009-06-28 15:09:16 -070012
13class GitConfigUnitTest(unittest.TestCase):
David Pursehousec1b86a22012-11-14 11:36:51 +090014 """Tests the GitConfig class.
15 """
16 def setUp(self):
17 """Create a GitConfig object using the test.gitconfig fixture.
David Aguilar438c5472009-06-28 15:09:16 -070018 """
David Pursehousec1b86a22012-11-14 11:36:51 +090019 config_fixture = fixture('test.gitconfig')
20 self.config = git_config.GitConfig(config_fixture)
David Aguilar438c5472009-06-28 15:09:16 -070021
David Pursehousec1b86a22012-11-14 11:36:51 +090022 def test_GetString_with_empty_config_values(self):
23 """
24 Test config entries with no value.
David Aguilar438c5472009-06-28 15:09:16 -070025
David Pursehousec1b86a22012-11-14 11:36:51 +090026 [section]
27 empty
David Aguilar438c5472009-06-28 15:09:16 -070028
David Pursehousec1b86a22012-11-14 11:36:51 +090029 """
30 val = self.config.GetString('section.empty')
31 self.assertEqual(val, None)
David Aguilar438c5472009-06-28 15:09:16 -070032
David Pursehousec1b86a22012-11-14 11:36:51 +090033 def test_GetString_with_true_value(self):
34 """
35 Test config entries with a string value.
David Aguilar438c5472009-06-28 15:09:16 -070036
David Pursehousec1b86a22012-11-14 11:36:51 +090037 [section]
38 nonempty = true
David Aguilar438c5472009-06-28 15:09:16 -070039
David Pursehousec1b86a22012-11-14 11:36:51 +090040 """
41 val = self.config.GetString('section.nonempty')
42 self.assertEqual(val, 'true')
David Aguilar438c5472009-06-28 15:09:16 -070043
David Pursehousec1b86a22012-11-14 11:36:51 +090044 def test_GetString_from_missing_file(self):
45 """
46 Test missing config file
47 """
48 config_fixture = fixture('not.present.gitconfig')
49 config = git_config.GitConfig(config_fixture)
50 val = config.GetString('empty')
51 self.assertEqual(val, None)
Shawn O. Pearcec24c7202009-07-02 16:12:57 -070052
David Aguilar438c5472009-06-28 15:09:16 -070053if __name__ == '__main__':
David Pursehousec1b86a22012-11-14 11:36:51 +090054 unittest.main()