Revision 34c480f2

b/kamaki/cli/argument/__init__.py
153 153

  
154 154
    @property
155 155
    def value(self):
156
        """A key=val option"""
157
        return super(self.__class__, self).value
156
        return super(RuntimeConfigArgument, self).value
158 157

  
159 158
    @value.setter
160 159
    def value(self, options):
b/kamaki/cli/argument/test.py
174 174
        self.assertEqual(rca._config_arg, config)
175 175
        self.assertEqual(arg.mock_calls[-1], call(1, help, pname, default))
176 176

  
177
    @patch('%s.override' % cnf_path)
178
    def test_value(self, override):
179
        config, help, pname, default = argument._config_arg, 'help', '-n', 'df'
180
        config.value = None
181
        rca = argument.RuntimeConfigArgument(config, help, pname, default)
182
        self.assertEqual(rca.value, default)
183

  
184
        for options in ('grp', 'grp.opt', 'k v', '=nokey', 2.8, None, 42, ''):
185
            self.assertRaises(TypeError, rca.value, options)
186

  
187
        for options in ('key=val', 'grp.key=val', 'dotted.opt.key=val'):
188
            rca.value = options
189
            option, sep, val = options.partition('=')
190
            grp, sep, key = option.partition('.')
191
            grp, key = (grp, key) if key else ('global', grp)
192
            self.assertEqual(override.mock_calls[-1], call(grp, key, val))
177 193

  
178 194
if __name__ == '__main__':
179 195
    from sys import argv

Also available in: Unified diff