Show More
@@ -621,9 +621,9 b' class KVArgParseConfigLoader(ArgParseConfigLoader):' | |||
|
621 | 621 | else: |
|
622 | 622 | nargs = None |
|
623 | 623 | if len(key) is 1: |
|
624 |
paa('-'+key, '--'+key, type= |
|
|
624 | paa('-'+key, '--'+key, type=unicode, dest=value, nargs=nargs) | |
|
625 | 625 | else: |
|
626 |
paa('--'+key, type= |
|
|
626 | paa('--'+key, type=unicode, dest=value, nargs=nargs) | |
|
627 | 627 | for key, (value, help) in flags.iteritems(): |
|
628 | 628 | if key in self.aliases: |
|
629 | 629 | # |
@@ -35,6 +35,7 b' from IPython.config.loader import (' | |||
|
35 | 35 | PyFileConfigLoader, |
|
36 | 36 | KeyValueConfigLoader, |
|
37 | 37 | ArgParseConfigLoader, |
|
38 | KVArgParseConfigLoader, | |
|
38 | 39 | ConfigError |
|
39 | 40 | ) |
|
40 | 41 | |
@@ -117,9 +118,10 b' class TestArgParseCL(TestCase):' | |||
|
117 | 118 | |
|
118 | 119 | |
|
119 | 120 | class TestKeyValueCL(TestCase): |
|
121 | klass = KeyValueConfigLoader | |
|
120 | 122 | |
|
121 | 123 | def test_basic(self): |
|
122 | cl = KeyValueConfigLoader() | |
|
124 | cl = self.klass() | |
|
123 | 125 | argv = ['--'+s.strip('c.') for s in pyfile.split('\n')[2:-1]] |
|
124 | 126 | with mute_warn(): |
|
125 | 127 | config = cl.load_config(argv) |
@@ -130,7 +132,7 b' class TestKeyValueCL(TestCase):' | |||
|
130 | 132 | self.assertEquals(config.D.C.value, 'hi there') |
|
131 | 133 | |
|
132 | 134 | def test_extra_args(self): |
|
133 | cl = KeyValueConfigLoader() | |
|
135 | cl = self.klass() | |
|
134 | 136 | with mute_warn(): |
|
135 | 137 | config = cl.load_config(['--a=5', 'b', '--c=10', 'd']) |
|
136 | 138 | self.assertEquals(cl.extra_args, ['b', 'd']) |
@@ -141,7 +143,7 b' class TestKeyValueCL(TestCase):' | |||
|
141 | 143 | self.assertEquals(cl.extra_args, ['--a=5', '--c=10']) |
|
142 | 144 | |
|
143 | 145 | def test_unicode_args(self): |
|
144 | cl = KeyValueConfigLoader() | |
|
146 | cl = self.klass() | |
|
145 | 147 | argv = [u'--a=épsîlön'] |
|
146 | 148 | with mute_warn(): |
|
147 | 149 | config = cl.load_config(argv) |
@@ -154,11 +156,21 b' class TestKeyValueCL(TestCase):' | |||
|
154 | 156 | except (TypeError, UnicodeEncodeError): |
|
155 | 157 | raise SkipTest("sys.stdin.encoding can't handle 'é'") |
|
156 | 158 | |
|
157 | cl = KeyValueConfigLoader() | |
|
159 | cl = self.klass() | |
|
158 | 160 | with mute_warn(): |
|
159 | 161 | config = cl.load_config([barg]) |
|
160 | 162 | self.assertEquals(config.a, u'é') |
|
163 | ||
|
164 | def test_unicode_alias(self): | |
|
165 | cl = self.klass() | |
|
166 | argv = [u'--a=épsîlön'] | |
|
167 | with mute_warn(): | |
|
168 | config = cl.load_config(argv, aliases=dict(a='A.a')) | |
|
169 | self.assertEquals(config.A.a, u'épsîlön') | |
|
170 | ||
|
161 | 171 | |
|
172 | class TestArgParseKVCL(TestKeyValueCL): | |
|
173 | klass = KVArgParseConfigLoader | |
|
162 | 174 | |
|
163 | 175 | class TestConfig(TestCase): |
|
164 | 176 |
General Comments 0
You need to be logged in to leave comments.
Login now