107
106
class TestUnshelvePreview(TestCaseWithTransport):
109
108
def test_non_ascii(self):
110
109
"""Test that we can show a non-ascii diff that would result from unshelving"""
112
init_content = u'Initial: \u0418\u0437\u043d\u0430\u0447\n'.encode(
111
init_content = u'Initial: \u0418\u0437\u043d\u0430\u0447\n'.encode('utf-8')
114
112
more_content = u'More: \u0415\u0449\u0451\n'.encode('utf-8')
115
113
next_content = init_content + more_content
116
diff_part = b'@@ -1,1 +1,2 @@\n %s+%s' % (init_content, more_content)
114
diff_part = '@@ -1,1 +1,2 @@\n %s+%s' % (init_content, more_content)
118
116
tree = self.make_branch_and_tree('.')
119
117
self.build_tree_contents([('a_file', init_content)])
120
118
tree.add('a_file')
121
119
tree.commit(message='committed')
122
120
self.build_tree_contents([('a_file', next_content)])
123
121
self.run_bzr(['shelve', '--all'])
124
out, err = self.run_bzr_raw(
125
['unshelve', '--preview'], encoding='latin-1')
122
out, err = self.run_bzr(['unshelve', '--preview'], encoding='latin-1')
127
124
self.assertContainsString(out, diff_part)
153
150
tree.commit(message='committed')
154
151
self.build_tree_contents([('tree/a', b'initial\nmore\n')])
155
152
self.run_bzr('shelve -d tree --all')
156
self.assertFileEqual(b'initial\n', 'tree/a')
153
self.assertFileEqual('initial\n', 'tree/a')
157
154
self.run_bzr('unshelve --directory tree')
158
self.assertFileEqual(b'initial\nmore\n', 'tree/a')
155
self.assertFileEqual('initial\nmore\n', 'tree/a')