##// END OF EJS Templates
dispatch: move dispatching code to cmdutil
dispatch: move dispatching code to cmdutil

File last commit:

r4549:0c61124a default
r4549:0c61124a default
Show More
test-ui-config
91 lines | 2.8 KiB | text/plain | TextLexer
Thomas Arendsen Hein
Allow using default values with ui.configlist, too, and add a test for this.
r2502 #!/usr/bin/env python
Alexis S. L. Carvalho
allow values that aren't strings in util.configparser
r4069 import ConfigParser
Matt Mackall
dispatch: move dispatching code to cmdutil
r4549 from mercurial import ui, util, cmdutil
Thomas Arendsen Hein
Allow using default values with ui.configlist, too, and add a test for this.
r2502
testui = ui.ui()
Matt Mackall
dispatch: move dispatching code to cmdutil
r4549 parsed = cmdutil.parseconfig([
Thomas Arendsen Hein
Allow using default values with ui.configlist, too, and add a test for this.
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
Include section name and parameter name (if available) in config errors....
r3073 'interpolation.value1=hallo',
'interpolation.value2=%(value1)s world',
'interpolation.value3=%(novalue)s',
'interpolation.value4=%(bad)1',
'interpolation.value5=%bad2',
Thomas Arendsen Hein
Allow using default values with ui.configlist, too, and add a test for this.
r2502 ])
Alexis S. L. Carvalho
move the parsing of --config options to commands.py
r3346 testui.updateopts(config=parsed)
Thomas Arendsen Hein
Allow using default values with ui.configlist, too, and add a test for this.
r2502
print repr(testui.configitems('values'))
print repr(testui.configitems('lists'))
Thomas Arendsen Hein
Include section name and parameter name (if available) in config errors....
r3073 try:
print repr(testui.configitems('interpolation'))
except util.Abort, inst:
print inst
Thomas Arendsen Hein
Allow using default values with ui.configlist, too, and add a test for this.
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'))
except ValueError, why:
print why
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
Include section name and parameter name (if available) in config errors....
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
allow values that aren't strings in util.configparser
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 '!')