test-ui-config
91 lines
| 2.8 KiB
| text/plain
|
TextLexer
/ tests / test-ui-config
Thomas Arendsen Hein
|
r2502 | #!/usr/bin/env python | ||
Alexis S. L. Carvalho
|
r4069 | import ConfigParser | ||
Matt Mackall
|
r5178 | from mercurial import ui, util, dispatch | ||
Thomas Arendsen Hein
|
r2502 | |||
testui = ui.ui() | ||||
Matt Mackall
|
r5178 | parsed = dispatch._parseconfig([ | ||
Thomas Arendsen Hein
|
r2502 | 'values.string=string value', | ||
'values.bool1=true', | ||||
'values.bool2=false', | ||||
'lists.list1=foo', | ||||
'lists.list2=foo bar baz', | ||||
'lists.list3=alice, bob', | ||||
'lists.list4=foo bar baz alice, bob', | ||||
Thomas Arendsen Hein
|
r3073 | 'interpolation.value1=hallo', | ||
'interpolation.value2=%(value1)s world', | ||||
'interpolation.value3=%(novalue)s', | ||||
'interpolation.value4=%(bad)1', | ||||
'interpolation.value5=%bad2', | ||||
Thomas Arendsen Hein
|
r2502 | ]) | ||
Alexis S. L. Carvalho
|
r3346 | testui.updateopts(config=parsed) | ||
Thomas Arendsen Hein
|
r2502 | |||
print repr(testui.configitems('values')) | ||||
print repr(testui.configitems('lists')) | ||||
Thomas Arendsen Hein
|
r3073 | try: | ||
print repr(testui.configitems('interpolation')) | ||||
except util.Abort, inst: | ||||
print inst | ||||
Thomas Arendsen Hein
|
r2502 | print "---" | ||
print repr(testui.config('values', 'string')) | ||||
print repr(testui.config('values', 'bool1')) | ||||
print repr(testui.config('values', 'bool2')) | ||||
print repr(testui.config('values', 'unknown')) | ||||
print "---" | ||||
try: | ||||
print repr(testui.configbool('values', 'string')) | ||||
Thomas Arendsen Hein
|
r4729 | except util.Abort, inst: | ||
print inst | ||||
Thomas Arendsen Hein
|
r2502 | print repr(testui.configbool('values', 'bool1')) | ||
print repr(testui.configbool('values', 'bool2')) | ||||
print repr(testui.configbool('values', 'bool2', True)) | ||||
print repr(testui.configbool('values', 'unknown')) | ||||
print repr(testui.configbool('values', 'unknown', True)) | ||||
print "---" | ||||
print repr(testui.configlist('lists', 'list1')) | ||||
print repr(testui.configlist('lists', 'list2')) | ||||
print repr(testui.configlist('lists', 'list3')) | ||||
print repr(testui.configlist('lists', 'list4')) | ||||
print repr(testui.configlist('lists', 'list4', ['foo'])) | ||||
print repr(testui.configlist('lists', 'unknown')) | ||||
print repr(testui.configlist('lists', 'unknown', '')) | ||||
print repr(testui.configlist('lists', 'unknown', 'foo')) | ||||
print repr(testui.configlist('lists', 'unknown', ['foo'])) | ||||
print repr(testui.configlist('lists', 'unknown', 'foo bar')) | ||||
print repr(testui.configlist('lists', 'unknown', 'foo, bar')) | ||||
print repr(testui.configlist('lists', 'unknown', ['foo bar'])) | ||||
print repr(testui.configlist('lists', 'unknown', ['foo', 'bar'])) | ||||
print "---" | ||||
Thomas Arendsen Hein
|
r3073 | print repr(testui.config('interpolation', 'value1')) | ||
print repr(testui.config('interpolation', 'value2')) | ||||
try: | ||||
print repr(testui.config('interpolation', 'value3')) | ||||
except util.Abort, inst: | ||||
print inst | ||||
try: | ||||
print repr(testui.config('interpolation', 'value4')) | ||||
except util.Abort, inst: | ||||
print inst | ||||
try: | ||||
print repr(testui.config('interpolation', 'value5')) | ||||
except util.Abort, inst: | ||||
print inst | ||||
print "---" | ||||
Alexis S. L. Carvalho
|
r4069 | |||
cp = util.configparser() | ||||
cp.add_section('foo') | ||||
cp.set('foo', 'bar', 'baz') | ||||
try: | ||||
# should fail - keys are case-sensitive | ||||
cp.get('foo', 'Bar') | ||||
except ConfigParser.NoOptionError, inst: | ||||
print inst | ||||
def function(): | ||||
pass | ||||
cp.add_section('hook') | ||||
# values that aren't strings should work | ||||
cp.set('hook', 'commit', function) | ||||
f = cp.get('hook', 'commit') | ||||
print "f %s= function" % (f == function and '=' or '!') | ||||