~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-13 03:39:24 UTC
  • mfrom: (6059.2.3 list-option)
  • Revision ID: pqm@pqm.ubuntu.com-20110813033924-w5vit9zjr8dmqe99
(vila) Implements list config options. (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3011
3011
        self.assertRaises(errors.ConfigOptionValueError, self.conf.get, 'foo')
3012
3012
 
3013
3013
    def register_integer_option(self, name, default):
3014
 
        i = config.Option(name, default=default, help='A boolean.',
 
3014
        i = config.Option(name, default=default, help='An integer.',
3015
3015
                          from_unicode=config.int_from_store)
3016
3016
        self.registry.register(i)
3017
3017
 
3038
3038
        # No default value, so we should get None
3039
3039
        self.assertEquals(None, self.conf.get('foo'))
3040
3040
 
 
3041
    def register_list_option(self, name, default):
 
3042
        l = config.Option(name, default=default, help='A list.',
 
3043
                          from_unicode=config.list_from_store)
 
3044
        self.registry.register(l)
 
3045
 
 
3046
    def test_get_with_list_not_defined_returns_default(self):
 
3047
        self.register_list_option('foo', [])
 
3048
        self.assertEquals([], self.conf.get('foo'))
 
3049
 
 
3050
    def test_get_with_list_converter_nothing(self):
 
3051
        self.register_list_option('foo', [1])
 
3052
        self.conf.store._load_from_string('foo=')
 
3053
        self.assertEquals([], self.conf.get('foo'))
 
3054
 
 
3055
    def test_get_with_list_converter_no_item(self):
 
3056
        self.register_list_option('foo', [1])
 
3057
        self.conf.store._load_from_string('foo=,')
 
3058
        self.assertEquals([], self.conf.get('foo'))
 
3059
 
 
3060
    def test_get_with_list_converter_one_boolean(self):
 
3061
        self.register_list_option('foo', [1])
 
3062
        self.conf.store._load_from_string('foo=True')
 
3063
        # We get a list of one string
 
3064
        self.assertEquals(['True'], self.conf.get('foo'))
 
3065
 
 
3066
    def test_get_with_list_converter_one_integer(self):
 
3067
        self.register_list_option('foo', [1])
 
3068
        self.conf.store._load_from_string('foo=2')
 
3069
        # We get a list of one string
 
3070
        self.assertEquals(['2'], self.conf.get('foo'))
 
3071
 
 
3072
    def test_get_with_list_converter_one_string(self):
 
3073
        self.register_list_option('foo', ['foo'])
 
3074
        self.conf.store._load_from_string('foo=bar')
 
3075
        # We get a list of one string
 
3076
        self.assertEquals(['bar'], self.conf.get('foo'))
 
3077
 
 
3078
    def test_get_with_list_converter_many_items(self):
 
3079
        self.register_list_option('foo', [1])
 
3080
        self.conf.store._load_from_string('foo=m,o,r,e')
 
3081
        self.assertEquals(['m', 'o', 'r', 'e'], self.conf.get('foo'))
 
3082
 
3041
3083
 
3042
3084
class TestStackSet(TestStackWithTransport):
3043
3085