views.status: Allow staging untracked files
[git-cola.git] / test / test_cola_git_ops.py
blobe9f7e7f2e3ec2afb012e8563fb3e803bcb4511f8
1 #!/usr/bin/env python
2 """Tests basic git operations: commit, log, config"""
3 import os
4 import unittest
6 import helper
7 from cola.models import main
9 class ColaBasicGitTestCase(helper.TestCase):
11 def test_git_commit(self):
12 """Test running 'git commit' via cola.git"""
13 self.shell("""
14 echo A > A
15 echo B > B
16 git init 2>&1 > /dev/null
17 git add A B
18 """)
20 model = main.MainModel()
21 model.git.commit(m="commit test")
22 log = helper.pipe('git log --pretty=oneline | wc -l')
24 self.failUnless('1' == log)
26 def test_git_config(self):
27 """Test cola.git.config()"""
28 self.shell("""
29 git init 2>&1 >/dev/null
30 git config section.key value
31 """)
32 model = main.MainModel()
33 value = model.git.config('section.key', get=True)
35 self.failUnless(value == 'value')
37 # Test config_set
38 model.config_set('section.bool', True)
39 value = model.git.config('section.bool', get=True)
41 self.failUnless(value == 'true')
42 model.config_set('section.bool', False)
44 # Test config_dict
45 config_dict = model.config_dict(local=True)
47 self.failUnless(config_dict['section_key'] == 'value')
48 self.failUnless(config_dict['section_bool'] == False)
50 # Test config_dict --global
51 global_dict = model.config_dict(local=False)
53 self.failUnless(type(global_dict) is dict)
55 if __name__ == '__main__':
56 unittest.main()