Mercurial > public > mercurial-scm > python-hglib
comparison tests/test-hidden.py @ 124:cc7569bffb26
context: add 'hidden' method to check if the changeset is hidden
This method should not be a static property obtained at creation as the hidden
status may change.
author | Paul Tonelli <paul.tonelli@logilab.fr> |
---|---|
date | Thu, 15 May 2014 15:12:13 +0200 |
parents | cdde1656346f |
children | bcc8390d7819 |
comparison
equal
deleted
inserted
replaced
123:cdde1656346f | 124:cc7569bffb26 |
---|---|
1 import common, hglib, datetime | 1 import common, hglib, datetime |
2 from hglib.error import CommandError | 2 from hglib.error import CommandError |
3 | 3 |
4 class test_obsolete_reference(common.basetest): | 4 class test_obsolete_reference(common.basetest): |
5 '''make sure obsolete changesets are disabled''' | 5 """make sure obsolete changesets are disabled""" |
6 def test_debugobsolete_failure(self): | 6 def test_debugobsolete_failure(self): |
7 f = open('gna1','w') | 7 f = open('gna1','w') |
8 f.write('g') | 8 f.write('g') |
9 f.close() | 9 f.close() |
10 self.client.add('gna1') | 10 self.client.add('gna1') |
11 cs = self.client.commit('gna1')[1] #get id | 11 cs = self.client.commit('gna1')[1] #get id |
12 with self.assertRaises(CommandError): | 12 with self.assertRaises(CommandError): |
13 self.client.rawcommand(['debugobsolete', cs]) | 13 self.client.rawcommand(['debugobsolete', cs]) |
14 | 14 |
15 | 15 |
16 class test_obsolete(common.basetest): | 16 class test_obsolete_baselib(common.basetest): |
17 '''test a few client methods with obsolete changesets enabled''' | 17 """base test class with obsolete changesets enabled""" |
18 def setUp(self): | 18 def setUp(self): |
19 #create an extension which only activates obsolete | 19 #create an extension which only activates obsolete |
20 super(test_obsolete, self).setUp() | 20 super(test_obsolete_baselib, self).setUp() |
21 self.append('.hg/obs.py','''import mercurial.obsolete\nmercurial.obsolete._enabled = True''') | 21 self.append('.hg/obs.py',"""import mercurial.obsolete\nmercurial.obsolete._enabled = True""") |
22 self.append('.hg/hgrc','\n[extensions]\nobs=.hg/obs.py') | 22 self.append('.hg/hgrc','\n[extensions]\nobs=.hg/obs.py') |
23 | 23 |
24 class test_obsolete_client(test_obsolete_baselib): | |
25 """check client methods with obsolete changesets enabled""" | |
24 def test_debugobsolete_success(self): | 26 def test_debugobsolete_success(self): |
27 """check the obsolete extension is available""" | |
25 self.append('gna1','ga') | 28 self.append('gna1','ga') |
26 self.client.add('gna1') | 29 self.client.add('gna1') |
27 cs = self.client.commit('gna1')[1] #get id | 30 cs = self.client.commit('gna1')[1] #get id |
28 self.client.rawcommand(['debugobsolete', cs]) | 31 self.client.rawcommand(['debugobsolete', cs]) |
29 | 32 |
30 def test_obsolete_in(self): | 33 def test_obsolete_in(self): |
34 """test the 'hidden' keyword with the 'in' method""" | |
31 self.append('gna1','ga') | 35 self.append('gna1','ga') |
32 self.client.add('gna1') | 36 self.client.add('gna1') |
33 cs0 = self.client.commit('gna1')[1] #get id | 37 cs0 = self.client.commit('gna1')[1] #get id |
34 self.append('gna2','gaaa') | 38 self.append('gna2','gaaa') |
35 self.client.add('gna2') | 39 self.client.add('gna2') |
39 self.assertFalse(cs1 in self.client) | 43 self.assertFalse(cs1 in self.client) |
40 self.assertTrue(cs0 in self.client) | 44 self.assertTrue(cs0 in self.client) |
41 self.client.hidden = True | 45 self.client.hidden = True |
42 self.assertTrue(cs1 in self.client) | 46 self.assertTrue(cs1 in self.client) |
43 | 47 |
48 class test_hidden_context(test_obsolete_baselib): | |
49 """test the "hidden" context method with obsolete changesets enabled on | |
50 hidden and visible changesets""" | |
51 def test_hidden(self): | |
52 self.append('gna1','ga') | |
53 self.client.add('gna1') | |
54 cs0 = self.client.commit('gna1')[1] #get id | |
55 ctx0 = self.client[cs0] | |
56 self.append('gna2','gaaa') | |
57 self.client.add('gna2') | |
58 cs1 = self.client.commit('gna2')[1] #get id | |
59 ctx1 = self.client[cs1] | |
60 self.client.rawcommand(['debugobsolete', cs1]) | |
61 self.client.update(cs0) | |
62 self.assertTrue(ctx1.hidden()) | |
63 self.assertFalse(ctx0.hidden()) | |
64 | |
65 |