~ubuntu-branches/debian/jessie/bzr-fastimport/jessie

« back to all changes in this revision

Viewing changes to tests/test_parser.py

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2009-05-05 20:23:22 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20090505202322-trdqvglgdybso4xf
Tags: 0.8.0~bzr181-1
* Move to section vcs.
* New upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
94
94
# Miscellaneous
95
95
checkpoint
96
96
progress completed
 
97
# Test a commit without sub-commands (bug #351717)
 
98
commit refs/heads/master
 
99
mark :3
 
100
author <bugs@bunny.org> now
 
101
committer <bugs@bunny.org> now
 
102
data 20
 
103
first commit, empty
97
104
"""
98
105
 
99
106
 
108
115
            if cmd.name == 'commit':
109
116
                for fc in cmd.file_iter():
110
117
                    result.append(fc)
111
 
        self.assertEqual(len(result), 9)
112
 
        cmd1 = result[0]
 
118
        self.assertEqual(len(result), 10)
 
119
        cmd1 = result.pop(0)
113
120
        self.assertEqual('progress', cmd1.name)
114
121
        self.assertEqual('completed', cmd1.message)
115
 
        cmd2 = result[1]
 
122
        cmd2 = result.pop(0)
116
123
        self.assertEqual('blob', cmd2.name)
117
124
        self.assertEqual('1', cmd2.mark)
118
125
        self.assertEqual(':1', cmd2.id)
119
126
        self.assertEqual('aaaa', cmd2.data)
120
127
        self.assertEqual(4, cmd2.lineno)
121
 
        cmd3 = result[2]
 
128
        cmd3 = result.pop(0)
122
129
        self.assertEqual('blob', cmd3.name)
123
130
        self.assertEqual('@7', cmd3.id)
124
131
        self.assertEqual(None, cmd3.mark)
125
132
        self.assertEqual('bbbbb', cmd3.data)
126
133
        self.assertEqual(7, cmd3.lineno)
127
 
        cmd4 = result[3]
 
134
        cmd4 = result.pop(0)
128
135
        self.assertEqual('commit', cmd4.name)
129
136
        self.assertEqual('2', cmd4.mark)
130
137
        self.assertEqual(':2', cmd4.id)
137
144
        self.assertEqual('refs/heads/master', cmd4.ref)
138
145
        self.assertEqual(None, cmd4.from_)
139
146
        self.assertEqual([], cmd4.merges)
140
 
        file_cmd1 = result[4]
 
147
        file_cmd1 = result.pop(0)
141
148
        self.assertEqual('filemodify', file_cmd1.name)
142
149
        self.assertEqual('README', file_cmd1.path)
143
150
        self.assertEqual('file', file_cmd1.kind)
144
151
        self.assertEqual(False, file_cmd1.is_executable)
145
152
        self.assertEqual('Welcome from bugs\n', file_cmd1.data)
146
 
        cmd5 = result[5]
 
153
        cmd5 = result.pop(0)
147
154
        self.assertEqual('commit', cmd5.name)
148
155
        self.assertEqual(None, cmd5.mark)
149
156
        self.assertEqual('@19', cmd5.id)
156
163
        self.assertEqual('refs/heads/master', cmd5.ref)
157
164
        self.assertEqual(':2', cmd5.from_)
158
165
        self.assertEqual([], cmd5.merges)
159
 
        file_cmd2 = result[6]
 
166
        file_cmd2 = result.pop(0)
160
167
        self.assertEqual('filemodify', file_cmd2.name)
161
168
        self.assertEqual('README', file_cmd2.path)
162
169
        self.assertEqual('file', file_cmd2.kind)
163
170
        self.assertEqual(False, file_cmd2.is_executable)
164
171
        self.assertEqual('Welcome from bugs, etc.', file_cmd2.data)
165
 
        cmd6 = result[7]
 
172
        cmd6 = result.pop(0)
166
173
        self.assertEqual(cmd6.name, 'checkpoint')
167
 
        cmd7 = result[8]
 
174
        cmd7 = result.pop(0)
168
175
        self.assertEqual('progress', cmd7.name)
169
176
        self.assertEqual('completed', cmd7.message)
 
177
        cmd = result.pop(0)
 
178
        self.assertEqual('commit', cmd.name)
 
179
        self.assertEqual('3', cmd.mark)
 
180
        self.assertEqual(None, cmd.from_)
170
181
 
171
182
 
172
183
class TestStringParsing(tests.TestCase):
175
186
        s = r'hello \"sweet\" wo\\r\tld'
176
187
        self.assertEquals(r'hello "sweet" wo\r' + "\tld",
177
188
            parser._unquote_c_string(s))
 
189
 
 
190
 
 
191
class TestPathPairParsing(tests.TestCase):
 
192
 
 
193
    def test_path_pair_simple(self):
 
194
        p = parser.ImportParser("")
 
195
        self.assertEqual(['foo', 'bar'], p._path_pair("foo bar"))
 
196
 
 
197
    def test_path_pair_spaces_in_first(self):
 
198
        p = parser.ImportParser("")
 
199
        self.assertEqual(['foo bar', 'baz'],
 
200
            p._path_pair('"foo bar" baz'))