/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_shelve.py

  • Committer: Marius Kruger
  • Date: 2010-07-10 21:28:56 UTC
  • mto: (5384.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5385.
  • Revision ID: marius.kruger@enerweb.co.za-20100710212856-uq4ji3go0u5se7hx
* Update documentation
* add NEWS

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
import os
18
18
 
19
 
from breezy import shelf
20
 
from breezy.tests import TestCaseWithTransport
21
 
from breezy.tests.script import ScriptRunner
 
19
from bzrlib import shelf
 
20
from bzrlib.tests import TestCaseWithTransport
 
21
from bzrlib.tests.script import ScriptRunner
22
22
 
23
23
 
24
24
class TestShelveList(TestCaseWithTransport):
41
41
        self.assertEqual('', err)
42
42
        self.assertEqual('  1: Foo\n', out)
43
43
 
44
 
    def test_shelve_list_via_directory(self):
45
 
        tree = self.make_branch_and_tree('tree')
46
 
        creator = self.make_creator(tree)
47
 
        shelf_id = tree.get_shelf_manager().shelve_changes(creator, 'Foo')
48
 
        out, err = self.run_bzr('shelve -d tree --list', retcode=1)
49
 
        self.assertEqual('', err)
50
 
        self.assertEqual('  1: Foo\n', out)
51
 
 
52
44
    def test_shelve_no_message(self):
53
45
        tree = self.make_branch_and_tree('.')
54
46
        creator = self.make_creator(tree)
72
64
        self.build_tree(['file'])
73
65
        tree.add('file')
74
66
        self.run_bzr('shelve --all --destroy')
75
 
        self.assertPathDoesNotExist('file')
 
67
        self.failIfExists('file')
76
68
        self.assertIs(None, tree.get_shelf_manager().last_shelf())
77
69
 
78
70
    def test_unshelve_keep(self):
84
76
 
85
77
        sr = ScriptRunner()
86
78
        sr.run_script(self, '''
87
 
$ brz add file
88
 
adding file
89
 
$ brz shelve --all -m Foo
90
 
2>Selected changes:
91
 
2>-D  file
92
 
2>Changes shelved with id "1".
93
 
$ brz shelve --list
 
79
$ bzr add file
 
80
$ bzr shelve --all -m Foo
 
81
$ bzr shelve --list
94
82
  1: Foo
95
 
$ brz unshelve --keep
96
 
2>Using changes with id "1".
97
 
2>Message: Foo
98
 
2>+N  file
99
 
2>All changes applied successfully.
100
 
$ brz shelve --list
 
83
$ bzr unshelve --keep
 
84
$ bzr shelve --list
101
85
  1: Foo
102
86
$ cat file
103
87
contents of file
104
88
''')
105
89
 
106
90
 
107
 
class TestUnshelvePreview(TestCaseWithTransport):
108
 
 
109
 
    def test_non_ascii(self):
110
 
        """Test that we can show a non-ascii diff that would result from unshelving"""
111
 
 
112
 
        init_content = u'Initial: \u0418\u0437\u043d\u0430\u0447\n'.encode(
113
 
            'utf-8')
114
 
        more_content = u'More: \u0415\u0449\u0451\n'.encode('utf-8')
115
 
        next_content = init_content + more_content
116
 
        diff_part = b'@@ -1,1 +1,2 @@\n %s+%s' % (init_content, more_content)
117
 
 
118
 
        tree = self.make_branch_and_tree('.')
119
 
        self.build_tree_contents([('a_file', init_content)])
120
 
        tree.add('a_file')
121
 
        tree.commit(message='committed')
122
 
        self.build_tree_contents([('a_file', next_content)])
123
 
        self.run_bzr(['shelve', '--all'])
124
 
        out, err = self.run_bzr_raw(
125
 
            ['unshelve', '--preview'], encoding='latin-1')
126
 
 
127
 
        self.assertContainsString(out, diff_part)
128
 
 
129
91
 
130
92
class TestShelveRelpath(TestCaseWithTransport):
131
93
 
136
98
        os.chdir('tree/dir')
137
99
        self.run_bzr('shelve --all ../file')
138
100
 
139
 
    def test_shelve_via_directory(self):
140
 
        tree = self.make_branch_and_tree('tree')
141
 
        self.build_tree(['tree/file', 'tree/dir/'])
142
 
        tree.add('file')
143
 
        self.run_bzr('shelve -d tree/dir --all ../file')
144
 
 
145
101
 
146
102
class TestShelveUnshelve(TestCaseWithTransport):
147
103
 
148
104
    def test_directory(self):
149
105
        """Test --directory option"""
150
106
        tree = self.make_branch_and_tree('tree')
151
 
        self.build_tree_contents([('tree/a', b'initial\n')])
 
107
        self.build_tree_contents([('tree/a', 'initial\n')])
152
108
        tree.add('a')
153
109
        tree.commit(message='committed')
154
 
        self.build_tree_contents([('tree/a', b'initial\nmore\n')])
 
110
        self.build_tree_contents([('tree/a', 'initial\nmore\n')])
155
111
        self.run_bzr('shelve -d tree --all')
156
 
        self.assertFileEqual(b'initial\n', 'tree/a')
 
112
        self.assertFileEqual('initial\n', 'tree/a')
157
113
        self.run_bzr('unshelve --directory tree')
158
 
        self.assertFileEqual(b'initial\nmore\n', 'tree/a')
 
114
        self.assertFileEqual('initial\nmore\n', 'tree/a')