Show More
@@ -542,7 +542,7 class ui(object): | |||
|
542 | 542 | ConfigError: foo.invalid is not a byte quantity ('somevalue') |
|
543 | 543 | """ |
|
544 | 544 | |
|
545 | value = self.config(section, name) | |
|
545 | value = self.config(section, name, None, untrusted) | |
|
546 | 546 | if value is None: |
|
547 | 547 | if not isinstance(default, str): |
|
548 | 548 | return default |
@@ -201,3 +201,41 try: | |||
|
201 | 201 | testui(debug=True, silent=True) |
|
202 | 202 | except error.ParseError as inst: |
|
203 | 203 | print(inst) |
|
204 | ||
|
205 | print() | |
|
206 | print('# access typed information') | |
|
207 | with open('.hg/hgrc', 'w') as f: | |
|
208 | f.write('''\ | |
|
209 | [foo] | |
|
210 | sub=main | |
|
211 | sub:one=one | |
|
212 | sub:two=two | |
|
213 | path=monty/python | |
|
214 | bool=true | |
|
215 | int=42 | |
|
216 | bytes=81mb | |
|
217 | list=spam,ham,eggs | |
|
218 | ''') | |
|
219 | u = testui(user='abc', group='def', cuser='foo', silent=True) | |
|
220 | print('# suboptions, trusted and untrusted') | |
|
221 | trusted = u.configsuboptions('foo', 'sub') | |
|
222 | untrusted = u.configsuboptions('foo', 'sub', untrusted=True) | |
|
223 | print( | |
|
224 | (trusted[0], sorted(trusted[1].items())), | |
|
225 | (untrusted[0], sorted(untrusted[1].items()))) | |
|
226 | print('# path, trusted and untrusted') | |
|
227 | print(u.configpath('foo', 'path'), u.configpath('foo', 'path', untrusted=True)) | |
|
228 | print('# bool, trusted and untrusted') | |
|
229 | print(u.configbool('foo', 'bool'), u.configbool('foo', 'bool', untrusted=True)) | |
|
230 | print('# int, trusted and untrusted') | |
|
231 | print( | |
|
232 | u.configint('foo', 'int', 0), | |
|
233 | u.configint('foo', 'int', 0, untrusted=True)) | |
|
234 | print('# bytes, trusted and untrusted') | |
|
235 | print( | |
|
236 | u.configbytes('foo', 'bytes', 0), | |
|
237 | u.configbytes('foo', 'bytes', 0, untrusted=True)) | |
|
238 | print('# list, trusted and untrusted') | |
|
239 | print( | |
|
240 | u.configlist('foo', 'list', []), | |
|
241 | u.configlist('foo', 'list', [], untrusted=True)) |
@@ -177,3 +177,19 not trusting file .hg/hgrc from untruste | |||
|
177 | 177 | ('foo', '.hg/hgrc:1') |
|
178 | 178 | # same user, same group |
|
179 | 179 | ('foo', '.hg/hgrc:1') |
|
180 | ||
|
181 | # access typed information | |
|
182 | # different user, different group | |
|
183 | not trusting file .hg/hgrc from untrusted user abc, group def | |
|
184 | # suboptions, trusted and untrusted | |
|
185 | (None, []) ('main', [('one', 'one'), ('two', 'two')]) | |
|
186 | # path, trusted and untrusted | |
|
187 | None .hg/monty/python | |
|
188 | # bool, trusted and untrusted | |
|
189 | False True | |
|
190 | # int, trusted and untrusted | |
|
191 | 0 42 | |
|
192 | # bytes, trusted and untrusted | |
|
193 | 0 84934656 | |
|
194 | # list, trusted and untrusted | |
|
195 | [] ['spam', 'ham', 'eggs'] |
General Comments 0
You need to be logged in to leave comments.
Login now