Coverage for tests/unit/conf/test_config.py: 100%
23 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-03-20 05:56 +0000
« prev ^ index » next coverage.py v7.4.4, created at 2024-03-20 05:56 +0000
1import os
2import tempfile
3import unittest
5from tatlin.conf.config import Config
8class ConfigTest(unittest.TestCase):
9 def test_read(self):
10 with tempfile.NamedTemporaryFile("w") as fp:
11 fp.write(
12 """[general]
13test = 1
15[ui]
16window_w = 640
17window_h = 480
18gcodes_2d = 0
20[machine]
21platform_w = 120
22platform_d = 100
23 """
24 )
25 fp.seek(0)
27 config = Config(fp.name)
29 self.assertEqual(config.read("general.test"), "1")
30 self.assertEqual(config.read("test"), "1")
32 self.assertEqual(config.read("ui.recent_files"), None)
33 self.assertEqual(config.read("ui.window_w"), "640")
34 self.assertEqual(config.read("ui.window_h"), "480")
35 self.assertEqual(config.read("ui.gcode_2d"), False)
37 def test_write(self):
38 config = Config(os.path.join(tempfile.gettempdir(), "tatlin.conf"))
39 config.write("new_section.window_w", 640)
40 config.commit()
42 with open(config.fname, "r") as fp:
43 self.assertEqual(
44 fp.read().strip(),
45 "[new_section]\nwindow_w = 640",
46 )
48 os.remove(config.fname)