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