168
168
def test_lazy_registry(self):
169
169
options = [option.RegistryOption('format', '',
170
lazy_registry=('breezy.controldir','format_registry'),
170
lazy_registry=('breezy.controldir', 'format_registry'),
172
172
opts, args = self.parse(options, ['--format', 'knit'])
173
173
self.assertEqual({'format': 'knit'}, opts)
239
239
"Test booleans get True and False passed correctly to a callback."""
241
241
def cb(option, name, value, parser):
242
cb_calls.append((option,name,value,parser))
242
cb_calls.append((option, name, value, parser))
243
243
options = [option.Option('hello', custom_callback=cb)]
244
244
opts, args = self.parse(options, ['--hello', '--no-hello'])
245
245
self.assertEqual(2, len(cb_calls))
246
opt,name,value,parser = cb_calls[0]
246
opt, name, value, parser = cb_calls[0]
247
247
self.assertEqual('hello', name)
248
248
self.assertTrue(value)
249
opt,name,value,parser = cb_calls[1]
249
opt, name, value, parser = cb_calls[1]
250
250
self.assertEqual('hello', name)
251
251
self.assertFalse(value)
254
254
"""Test callbacks work for string options both long and short."""
256
256
def cb(option, name, value, parser):
257
cb_calls.append((option,name,value,parser))
257
cb_calls.append((option, name, value, parser))
258
258
options = [option.Option('hello', type=str, custom_callback=cb,
260
260
opts, args = self.parse(options, ['--hello', 'world', '-h', 'mars'])
261
261
self.assertEqual(2, len(cb_calls))
262
opt,name,value,parser = cb_calls[0]
262
opt, name, value, parser = cb_calls[0]
263
263
self.assertEqual('hello', name)
264
264
self.assertEqual('world', value)
265
opt,name,value,parser = cb_calls[1]
265
opt, name, value, parser = cb_calls[1]
266
266
self.assertEqual('hello', name)
267
267
self.assertEqual('mars', value)
314
314
def cb(option, name, value, parser):
315
315
# Note that the value is a reference so copy to keep it
316
cb_calls.append((option,name,value[:],parser))
316
cb_calls.append((option, name, value[:], parser))
317
317
options = [option.ListOption('hello', type=str, custom_callback=cb)]
318
318
opts, args = self.parse(options, ['--hello=world', '--hello=mars',
320
320
self.assertEqual(3, len(cb_calls))
321
opt,name,value,parser = cb_calls[0]
321
opt, name, value, parser = cb_calls[0]
322
322
self.assertEqual('hello', name)
323
323
self.assertEqual(['world'], value)
324
opt,name,value,parser = cb_calls[1]
324
opt, name, value, parser = cb_calls[1]
325
325
self.assertEqual('hello', name)
326
326
self.assertEqual(['world', 'mars'], value)
327
opt,name,value,parser = cb_calls[2]
327
opt, name, value, parser = cb_calls[2]
328
328
self.assertEqual('hello', name)
329
329
self.assertEqual([], value)