~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_config.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-08-12 10:54:51 UTC
  • mfrom: (6059.1.7 integer-option)
  • Revision ID: pqm@pqm.ubuntu.com-20110812105451-s1i361x4d409godc
(vila) Implement integer config options. (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2983
2983
        self.conf.store._load_from_string('foo=yes')
2984
2984
        self.assertEquals(True, self.conf.get('foo'))
2985
2985
 
2986
 
    def test_get_with_bool_converter_invalid(self):
 
2986
    def test_get_with_bool_converter_invalid_string(self):
2987
2987
        self.register_bool_option('foo', False)
2988
2988
        self.conf.store._load_from_string('foo=not-a-boolean')
2989
2989
        self.assertEquals(False, self.conf.get('foo'))
2990
2990
 
 
2991
    def test_get_with_bool_converter_invalid_list(self):
 
2992
        self.register_bool_option('foo', False)
 
2993
        self.conf.store._load_from_string('foo=not,a,boolean')
 
2994
        self.assertEquals(False, self.conf.get('foo'))
 
2995
 
2991
2996
    def test_get_invalid_warns(self):
2992
2997
        self.register_bool_option('foo', False, invalid='warning')
2993
2998
        self.conf.store._load_from_string('foo=not-a-boolean')
3005
3010
        self.conf.store._load_from_string('foo=not-a-boolean')
3006
3011
        self.assertRaises(errors.ConfigOptionValueError, self.conf.get, 'foo')
3007
3012
 
 
3013
    def register_integer_option(self, name, default):
 
3014
        i = config.Option(name, default=default, help='A boolean.',
 
3015
                          from_unicode=config.int_from_store)
 
3016
        self.registry.register(i)
 
3017
 
 
3018
    def test_get_with_integer_not_defined_returns_default(self):
 
3019
        self.register_integer_option('foo', 42)
 
3020
        self.assertEquals(42, self.conf.get('foo'))
 
3021
 
 
3022
    def test_get_with_integer_converter_not_default(self):
 
3023
        self.register_integer_option('foo', 42)
 
3024
        self.conf.store._load_from_string('foo=16')
 
3025
        self.assertEquals(16, self.conf.get('foo'))
 
3026
 
 
3027
    def test_get_with_integer_converter_invalid_string(self):
 
3028
        # We don't set a default value
 
3029
        self.register_integer_option('foo', None)
 
3030
        self.conf.store._load_from_string('foo=forty-two')
 
3031
        # No default value, so we should get None
 
3032
        self.assertEquals(None, self.conf.get('foo'))
 
3033
 
 
3034
    def test_get_with_integer_converter_invalid_list(self):
 
3035
        # We don't set a default value
 
3036
        self.register_integer_option('foo', None)
 
3037
        self.conf.store._load_from_string('foo=a,list')
 
3038
        # No default value, so we should get None
 
3039
        self.assertEquals(None, self.conf.get('foo'))
 
3040
 
3008
3041
 
3009
3042
class TestStackSet(TestStackWithTransport):
3010
3043