~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_config.py

  • Committer: Vincent Ladeuil
  • Date: 2009-07-02 08:59:16 UTC
  • mto: (4536.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 4537.
  • Revision ID: v.ladeuil+lp@free.fr-20090702085916-8mmk6twh14oeng5u
Get a bool or none from a config file.

* bzrlib/tests/test_config.py:
(TestIniConfig.test_get_user_option_as_bool): Tests
true/false/none cases.

* bzrlib/config.py:
(Config.__init__, IniBasedConfig.__init__): Moved to be the first
defined method in the class, we do that everywhere else, it's
really misleading otherwise.

(Config.get_user_option_as_bool): Mimic get_user_option but
returns either a bool or None.

Show diffs side-by-side

added added

removed removed

Lines of Context:
367
367
        parser = my_config._get_parser(file=config_file)
368
368
        self.failUnless(my_config._get_parser() is parser)
369
369
 
 
370
    def test_get_user_option_as_bool(self):
 
371
        config_file = StringIO("""
 
372
a_true_bool = true
 
373
a_false_bool = 0
 
374
an_invalid_bool = maybe
 
375
a_list = hmm, who knows ? # This interpreted as a list !
 
376
""".encode('utf-8'))
 
377
        my_config = config.IniBasedConfig(None)
 
378
        parser = my_config._get_parser(file=config_file)
 
379
        get_option = my_config.get_user_option_as_bool
 
380
        self.assertEqual(True, get_option('a_true_bool'))
 
381
        self.assertEqual(False, get_option('a_false_bool'))
 
382
        self.assertIs(None, get_option('an_invalid_bool'))
 
383
        self.assertIs(None, get_option('not_defined_in_this_config'))
370
384
 
371
385
class TestGetConfig(tests.TestCase):
372
386