annotate tests/test-annotate.py @ 79:ca5f8f43e585

branches: more robust parsing strategy The right side of output is more strictly defined than the left, so parse from right to left. This fixes issues with spaces in branch names.
author Matt Mackall <mpm@selenic.com>
date Wed, 09 Nov 2011 16:09:46 -0600
parents 18f72b255553
children 1b47146a4a2c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
52
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
1 import common
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
2
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
3 class test_annotate(common.basetest):
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
4 def test_basic(self):
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
5 self.append('a', 'a\n')
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
6 rev, node0 = self.client.commit('first', addremove=True)
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
7 self.append('a', 'a\n')
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
8 rev, node1 = self.client.commit('second')
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
9
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
10 self.assertEquals(list(self.client.annotate('a')), [('0', 'a'), ('1', 'a')])
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
11 self.assertEquals(list(self.client.annotate('a', user=True, file=True,
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
12 number=True, changeset=True, line=True, verbose=True)),
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
13 [('test 0 %s a:1' % node0[:12], 'a'),
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
14 ('test 1 %s a:2' % node1[:12], 'a')])
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
15
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
16 def test_files(self):
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
17 self.append('a', 'a\n')
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
18 rev, node0 = self.client.commit('first', addremove=True)
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
19 self.append('b', 'b\n')
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
20 rev, node1 = self.client.commit('second', addremove=True)
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
21 self.assertEquals(list(self.client.annotate(['a', 'b'])),
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
22 [('0', 'a'), ('1', 'b')])
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
23
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
24 def test_two_colons(self):
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
25 self.append('a', 'a: b\n')
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
26 self.client.commit('first', addremove=True)
18f72b255553 client: add annotate command
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
27 self.assertEquals(list(self.client.annotate('a')), [('0', 'a: b')])