示例#1
0
    def test_versioning(self):
        with temp_filename() as filename:
            conf = Config(version=41)
            conf.add_section("foo")
            conf.set("foo", "bar", "quux")
            conf.write(filename)
            self.assertRaises(Error, conf.get_version)

            # old was 41, we have 42, so upgrade
            def func(config, old, new):
                if old < 42:
                    config.set("foo", "bar", "nope")

            conf = Config(version=42)
            conf.register_upgrade_function(func)
            conf.read(filename)
            self.assertEqual(conf.get_version(), 41)
            self.assertEqual(conf.get("foo", "bar"), "nope")

            # write doesn't change version
            conf.write(filename)
            self.assertEqual(conf.get_version(), 41)

            # but if we load again, it does
            conf.read(filename)
            self.assertEqual(conf.get_version(), 42)
示例#2
0
    def test_versioning(self):
        with temp_filename() as filename:
            conf = Config(version=41)
            conf.add_section("foo")
            conf.set("foo", "bar", "quux")
            conf.write(filename)
            self.assertRaises(Error, conf.get_version)

            # old was 41, we have 42, so upgrade
            def func(config, old, new):
                if old < 42:
                    config.set("foo", "bar", "nope")
            conf = Config(version=42)
            conf.register_upgrade_function(func)
            conf.read(filename)
            self.assertEqual(conf.get_version(), 41)
            self.assertEqual(conf.get("foo", "bar"), "nope")

            # write doesn't change version
            conf.write(filename)
            self.assertEqual(conf.get_version(), 41)

            # but if we load again, it does
            conf.read(filename)
            self.assertEqual(conf.get_version(), 42)
示例#3
0
    def test_setdefault_no_defaulting(self):
        conf = Config()
        conf.add_section("foo")

        self.failUnlessEqual(None, conf.get("foo", "bar", None))
        conf.set("foo", "bar", "blah")
        conf.setdefault("foo", "bar", "xxx")
        self.failUnlessEqual("blah", conf.get("foo", "bar"))
示例#4
0
    def test_setdefault_no_defaulting(self):
        conf = Config()
        conf.add_section("foo")

        self.failUnlessEqual(None, conf.get("foo", "bar", None))
        conf.set("foo", "bar", "blah")
        conf.setdefault("foo", "bar", "xxx")
        self.failUnlessEqual("blah", conf.get("foo", "bar"))
示例#5
0
 def test_reset(self):
     conf = Config()
     conf.defaults.add_section("player")
     conf.defaults.set("player", "backend", "blah")
     conf.set("player", "backend", "foo")
     self.assertEqual(conf.get("player", "backend"), "foo")
     conf.reset("player", "backend")
     self.assertEqual(conf.get("player", "backend"), "blah")
示例#6
0
 def test_get_invalid_data(self):
     conf = Config()
     conf.add_section("foo")
     conf.set("foo", "bla", "xx;,,;\n\n\naa")
     self.assertTrue(conf.getboolean("foo", "bla", True))
     self.assertEqual(conf.getint("foo", "bla", 42), 42)
     self.assertEqual(conf.getfloat("foo", "bla", 1.5), 1.5)
     self.assertEqual(conf.getstringlist("foo", "bla", ["baz"]), ["baz"])
示例#7
0
 def test_get_invalid_data(self):
     conf = Config()
     conf.add_section("foo")
     conf.set("foo", "bla", "xx;,,;\n\n\naa")
     self.assertTrue(conf.getboolean("foo", "bla", True))
     self.assertEqual(conf.getint("foo", "bla", 42), 42)
     self.assertEqual(conf.getfloat("foo", "bla", 1.5), 1.5)
     self.assertEqual(conf.getstringlist("foo", "bla", ["baz"]), ["baz"])
示例#8
0
 def test_reset(self):
     conf = Config()
     conf.defaults.add_section("player")
     conf.defaults.set("player", "backend", "blah")
     conf.set("player", "backend", "foo")
     self.assertEqual(conf.get("player", "backend"), "foo")
     conf.reset("player", "backend")
     self.assertEqual(conf.get("player", "backend"), "blah")
示例#9
0
 def test_initial_after_set(self):
     conf = Config()
     conf.add_section("player")
     conf.set("player", "backend", "orig")
     conf.defaults.set("player", "backend", "initial")
     self.assertEqual(conf.get("player", "backend"), "orig")
     self.assertEqual(conf.defaults.get("player", "backend"), "initial")
     conf.reset("player", "backend")
     self.assertEqual(conf.get("player", "backend"), "initial")
示例#10
0
 def test_initial_after_set(self):
     conf = Config()
     conf.add_section("player")
     conf.set("player", "backend", "orig")
     conf.defaults.set("player", "backend", "initial")
     self.assertEqual(conf.get("player", "backend"), "orig")
     self.assertEqual(conf.defaults.get("player", "backend"), "initial")
     conf.reset("player", "backend")
     self.assertEqual(conf.get("player", "backend"), "initial")
示例#11
0
    def test_getlist(self):
        conf = Config()
        conf.add_section("foo")
        self.assertEqual(conf.getlist("foo", "bar", ["arg"]), ["arg"])
        conf.set("foo", "bar", "abc,fo:o\\,bar")
        self.assertEqual(conf.getlist("foo", "bar"), ["abc", "fo:o,bar"])
        self.assertEqual(conf.getlist("foo", "bar", sep=":"),
                         ["abc,fo", "o\\,bar"])

        conf.set("foo", "bar", "")
        self.assertEqual(conf.getlist("foo", "bar"), [""])
示例#12
0
    def test_getlist(self):
        conf = Config()
        conf.add_section("foo")
        self.assertEqual(conf.getlist("foo", "bar", ["arg"]), ["arg"])
        conf.set("foo", "bar", "abc,fo:o\\,bar")
        self.assertEqual(conf.getlist("foo", "bar"), ["abc", "fo:o,bar"])
        self.assertEqual(conf.getlist("foo", "bar", sep=":"),
                         ["abc,fo", "o\\,bar"])

        conf.set("foo", "bar", "")
        self.assertEqual(conf.getlist("foo", "bar"), [""])
示例#13
0
 def test_options(self):
     conf = Config()
     self.assertRaises(Error, conf.options, "foo")
     conf.defaults.add_section("foo")
     self.assertEqual(conf.options("foo"), [])
     conf.defaults.set("foo", "bar", 1)
     conf.defaults.set("foo", "blah", 1)
     conf.set("foo", "blah", 1)
     conf.set("foo", "quux", 1)
     self.assertEqual(conf.options("foo"), ['blah', 'quux', 'bar'])
     conf.defaults.clear()
示例#14
0
 def test_options(self):
     conf = Config()
     self.assertRaises(Error, conf.options, "foo")
     conf.defaults.add_section("foo")
     self.assertEqual(conf.options("foo"), [])
     conf.defaults.set("foo", "bar", 1)
     conf.defaults.set("foo", "blah", 1)
     conf.set("foo", "blah", 1)
     conf.set("foo", "quux", 1)
     self.assertEqual(conf.options("foo"), ['blah', 'quux', 'bar'])
     conf.defaults.clear()
示例#15
0
    def test_get(self):
        conf = Config()
        conf.add_section("foo")

        conf.set("foo", "int", "1")
        conf.set("foo", "float", "1.25")
        conf.set("foo", "str", "foobar")
        conf.set("foo", "bool", "True")
        self.failUnlessEqual(conf.getint("foo", "int"), 1)
        self.failUnlessEqual(conf.getfloat("foo", "float"), 1.25)
        self.failUnlessEqual(conf.get("foo", "str"), "foobar")
        self.failUnlessEqual(conf.getboolean("foo", "bool"), True)
示例#16
0
    def test_get(self):
        conf = Config()
        conf.add_section("foo")

        conf.set("foo", "int", "1")
        conf.set("foo", "float", "1.25")
        conf.set("foo", "str", "foobar")
        conf.set("foo", "bool", "True")
        self.failUnlessEqual(conf.getint("foo", "int"), 1)
        self.failUnlessEqual(conf.getfloat("foo", "float"), 1.25)
        self.failUnlessEqual(conf.get("foo", "str"), "foobar")
        self.failUnlessEqual(conf.getboolean("foo", "bool"), True)
示例#17
0
 def test_set(self):
     conf = Config()
     conf.add_section("foo")
     conf.set("foo", "bar", 1)
     self.failUnlessEqual(conf.get("foo", "bar"), "1")
     self.failUnlessEqual(conf.getint("foo", "bar"), 1)
示例#18
0
 def test_stringlist_invalid_encoding(self):
     conf = Config()
     conf.add_section("foo")
     conf.set("foo", "bar", "\xff\xff\xff\xff\xff\xff")
     self.assertRaises(Error, conf.getstringlist, "foo", "bar")
示例#19
0
 def test_getint_float(self):
     conf = Config()
     conf.add_section("foo")
     conf.set("foo", "float", "1.25")
     self.assertEqual(conf.getint("foo", "float"), 1)
示例#20
0
 def test_set_default_only(self):
     conf = Config()
     self.assertRaises(Error, conf.set, "foo", "bar", 1)
     conf.defaults.add_section("foo")
     conf.set("foo", "bar", 1)
示例#21
0
 def test_getint_float(self):
     conf = Config()
     conf.add_section("foo")
     conf.set("foo", "float", "1.25")
     self.assertEqual(conf.getint("foo", "float"), 1)
示例#22
0
 def test_stringlist_invalid_encoding(self):
     conf = Config()
     conf.add_section("foo")
     conf.set("foo", "bar", "\xff\xff\xff\xff\xff\xff")
     self.assertRaises(Error, conf.getstringlist, "foo", "bar")
示例#23
0
 def test_set_default_only(self):
     conf = Config()
     self.assertRaises(Error, conf.set, "foo", "bar", 1)
     conf.defaults.add_section("foo")
     conf.set("foo", "bar", 1)
示例#24
0
 def test_set(self):
     conf = Config()
     conf.add_section("foo")
     conf.set("foo", "bar", 1)
     self.failUnlessEqual(conf.get("foo", "bar"), "1")
     self.failUnlessEqual(conf.getint("foo", "bar"), 1)