Example #1
0
    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
Example #2
0
 def setUp(self):
     self.conf = figs.loads('''\
             [default]
             name = myself
             count = 1
             [onemore]
             key = val
             ''')
Example #3
0
    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'})
Example #4
0
    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)
Example #5
0
 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))
Example #6
0
 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))
Example #7
0
    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)
Example #8
0
    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)
Example #9
0
    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'})
Example #10
0
 def test_no_first_section(self):
     self.assertRaises(MissingSectionHeaderError, lambda: figs.loads('''\
             key = val
             [section1]
             name = me
             '''))
Example #11
0
 def test_no_sections(self):
     conf = figs.loads('key1 = val1\nkey2 = val2\n')
     self.assertEqual(conf.key1, 'val1')
     self.assertEqual(conf.key2, 'val2')
Example #12
0
 def test_indented_string(self):
     conf = figs.loads('''\
         [default]
         a = 1
         ''')
     self.assertEqual(conf.default.a, '1')
Example #13
0
 def test_string(self):
     conf = figs.loads('[default]\na = 1\n')
     self.assertEqual(conf.default.a, '1')
Example #14
0
 def test_no_sections(self):
     content = 'key1 = val1\nkey2 = val2\n\n'
     conf = figs.loads(content)
     self.assertEqual(figs.dumps(conf), content)