~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-09-21 10:48:23 UTC
  • mfrom: (5393.6.3 bzr)
  • Revision ID: pqm@pqm.ubuntu.com-20100921104823-0jks3g5o1bahesyq
(spiv) Fix traceback with python 2.7's xmlrpclib. (Toshio Kuratomi)

Show diffs side-by-side

added added

removed removed

Lines of Context:
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):
85
77
        sr = ScriptRunner()
86
78
        sr.run_script(self, '''
87
79
$ bzr add file
88
 
adding file
89
80
$ bzr shelve --all -m Foo
90
 
2>Selected changes:
91
 
2>-D  file
92
 
2>Changes shelved with id "1".
93
81
$ bzr shelve --list
94
82
  1: Foo
95
83
$ bzr unshelve --keep
96
 
2>Using changes with id "1".
97
 
2>Message: Foo
98
 
2>+N  file
99
 
2>All changes applied successfully.
100
84
$ bzr shelve --list
101
85
  1: Foo
102
86
$ cat file
103
87
contents of file
104
88
''')
105
89
 
106
 
class TestUnshelvePreview(TestCaseWithTransport):
107
 
    
108
 
    def test_non_ascii(self):
109
 
        """Test that we can show a non-ascii diff that would result from unshelving"""
110
 
        
111
 
        init_content = u'Initial: \u0418\u0437\u043d\u0430\u0447\n'.encode('utf-8')
112
 
        more_content = u'More: \u0415\u0449\u0451\n'.encode('utf-8')
113
 
        next_content = init_content + more_content
114
 
        diff_part = '@@ -1,1 +1,2 @@\n %s+%s' % (init_content, more_content)
115
 
        
116
 
        tree = self.make_branch_and_tree('.')
117
 
        self.build_tree_contents([('a_file', init_content)])
118
 
        tree.add('a_file')
119
 
        tree.commit(message='committed')
120
 
        self.build_tree_contents([('a_file', next_content)])
121
 
        self.run_bzr(['shelve', '--all'])
122
 
        out, err = self.run_bzr(['unshelve', '--preview'], encoding='latin-1')
123
 
        
124
 
        self.assertContainsString(out, diff_part)
125
90
 
126
91
 
127
92
class TestShelveRelpath(TestCaseWithTransport):
133
98
        os.chdir('tree/dir')
134
99
        self.run_bzr('shelve --all ../file')
135
100
 
136
 
    def test_shelve_via_directory(self):
137
 
        tree = self.make_branch_and_tree('tree')
138
 
        self.build_tree(['tree/file', 'tree/dir/'])
139
 
        tree.add('file')
140
 
        self.run_bzr('shelve -d tree/dir --all ../file')
141
 
 
142
101
 
143
102
class TestShelveUnshelve(TestCaseWithTransport):
144
103