def setUp(self): self.conf_content = '[default]\nname = myself\n\n' self.conf = figs.loads(self.conf_content) tmp_file = tmp.NamedTemporaryFile(prefix='figs-test-', delete=False) tmp_file.close() self.target_filename = tmp_file.name
def setUp(self): self.conf = figs.loads('''\ [default] name = myself count = 1 [onemore] key = val ''')
def test_as_dict(self): conf = figs.loads('''\ [default] a = 1 ''', as_dict=True) self.assertIsInstance(conf, dict) self.assertEqual(conf.viewkeys(), {'default'}) self.assertEqual(conf['default'].viewkeys(), {'a'})
def test_unknown(self): unknowns = figs.loads('''\ [unknowns] o1 = hohoho ''').unknowns self.assertRaises(ValueError, lambda: unknowns.o1.as_bool) self.assertRaises(ValueError, lambda: unknowns.o1.as_int) self.assertRaises(ValueError, lambda: unknowns.o1.as_float)
def test_falses(self): conf = figs.loads('''\ [falses] o1 = 0 o2 = off o3 = no o4 = false o5 = OFF o6 = No o7 = False ''') map(lambda (key, val): self.assertIs(val, False, msg=key + ' is not False'), ((o[0], o[1].as_bool) for o in conf.falses))
def test_trues(self): conf = figs.loads('''\ [trues] o1 = 1 o2 = on o3 = yes o4 = true o5 = ON o6 = Yes o7 = True ''') map(lambda (key, val): self.assertIs(val, True, msg=key + ' is not True'), ((o[0], o[1].as_bool) for o in conf.trues))
def test_floats(self): floats = figs.loads('''\ [floats] o1 = 1 o2 = 1. o3 = 1.0 o4 = 1.1e1 ''').floats # All values should be of type `int`. map(lambda (key, val): self.assertIsInstance(val, float, msg=key + ' is not an int (' + repr(val) + ')'), ((o[0], o[1].as_float) for o in floats)) self.assertEqual(floats.o1.as_float, 1) self.assertEqual(floats.o2.as_float, 1) self.assertEqual(floats.o3.as_float, 1) self.assertEqual(floats.o4.as_float, 11)
def test_ints(self): ints = figs.loads('''\ [ints] o1 = 1 o2 = 10.1 o3 = 10.8 o4 = 1e2 o5 = 1.2e2 ''').ints # All values should be of type `int`. map(lambda (key, val): self.assertIsInstance(val, int, msg=key + ' is not an int (' + repr(val) + ')'), ((o[0], o[1].as_int) for o in ints)) self.assertEqual(ints.o1.as_int, 1) self.assertEqual(ints.o2.as_int, 10) self.assertEqual(ints.o3.as_int, 11) self.assertEqual(ints.o4.as_int, 100) self.assertEqual(ints.o5.as_int, 120)
def test_no_sections_as_dict(self): conf = figs.loads('key1 = val1\nkey2 = val2\n', as_dict=True) self.assertIsInstance(conf, dict) self.assertEqual(conf.viewkeys(), {'key1', 'key2'})
def test_no_first_section(self): self.assertRaises(MissingSectionHeaderError, lambda: figs.loads('''\ key = val [section1] name = me '''))
def test_no_sections(self): conf = figs.loads('key1 = val1\nkey2 = val2\n') self.assertEqual(conf.key1, 'val1') self.assertEqual(conf.key2, 'val2')
def test_indented_string(self): conf = figs.loads('''\ [default] a = 1 ''') self.assertEqual(conf.default.a, '1')
def test_string(self): conf = figs.loads('[default]\na = 1\n') self.assertEqual(conf.default.a, '1')
def test_no_sections(self): content = 'key1 = val1\nkey2 = val2\n\n' conf = figs.loads(content) self.assertEqual(figs.dumps(conf), content)