branch: set the current item when restoring state
[git-cola.git] / test / stash_model_test.py
blob69bf0aa29a173142bd2f5e5fa7e82578985fa78c
1 from __future__ import absolute_import, division, print_function, unicode_literals
2 # pylint: disable=redefined-outer-name
3 from cola.models.stash import StashModel
5 from . import helper
6 from .helper import app_context
9 # These assertions make flake8 happy. It considers them unused imports otherwise.
10 assert app_context is not None
13 def test_stash_info_for_message_without_slash(app_context):
14 helper.commit_files()
15 helper.write_file('A', 'change')
16 helper.run_git('stash', 'save', 'some message')
17 assert StashModel(app_context).stash_info()[0] \
18 == [r'stash@{0}: On main: some message']
21 def test_stash_info_for_message_with_slash(app_context):
22 helper.commit_files()
23 helper.write_file('A', 'change')
24 helper.run_git('stash', 'save', 'some message/something')
25 model = StashModel(app_context)
26 stash_details = model.stash_info()[0]
27 assert stash_details == [r'stash@{0}: On main: some message/something']
30 def test_stash_info_on_branch_with_slash(app_context):
31 helper.commit_files()
32 helper.run_git('checkout', '-b', 'feature/a')
33 helper.write_file('A', 'change')
34 helper.run_git('stash', 'save', 'some message')
36 model = StashModel(app_context)
37 stash_info = model.stash_info()
39 stash_details = stash_info[0][0]
40 assert stash_details in (
41 'stash@{0}: On feature/a: some message',
42 # Some versions of Git do not report the full branch name
43 'stash@{0}: On a: some message',
46 stash_rev = stash_info[1][0]
47 assert stash_rev == r'stash@{0}'
49 stash_message = stash_info[3][0]
50 assert stash_message in (
51 'On feature/a: some message',
52 'On a: some message',