Mercurial > hg
view tests/test-ui-config @ 7015:6651de7176a0
i18n, record: improve use of translated docstring in prompts
The old code would confuse the user if the translator actually
translated the letters "Ynsfdaq?" in the prompt, since the user input
would be matched against the English string, despite the translation.
The new code fixes this, but the translator must be 100% consistent.
Also, the translation of single character strings is problematic if
they are used differently by different pieces of code.
author | Martin Geisler <mg@daimi.au.dk> |
---|---|
date | Tue, 09 Sep 2008 21:32:39 +0200 |
parents | 18a9fbb5cd78 |
children | 7fd0616b3d80 |
line wrap: on
line source
#!/usr/bin/env python import ConfigParser from mercurial import ui, util, dispatch testui = ui.ui() parsed = dispatch._parseconfig([ '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', 'interpolation.value1=hallo', 'interpolation.value2=%(value1)s world', 'interpolation.value3=%(novalue)s', 'interpolation.value4=%(bad)1', 'interpolation.value5=%bad2', ]) testui.updateopts(config=parsed) print repr(testui.configitems('values')) print repr(testui.configitems('lists')) try: print repr(testui.configitems('interpolation')) except util.Abort, inst: print inst 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 util.Abort, inst: print inst 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 "---" 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 "---" 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 '!')