1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
import unittest
from textwrap import dedent
from io import StringIO
from iniparse import tidy, INIConfig
from iniparse.compat import ConfigParser
class TestTidy(unittest.TestCase):
def setUp(self):
self.cfg = INIConfig()
def test_empty_file(self):
self.assertEqual(str(self.cfg), '')
tidy(self.cfg)
self.assertEqual(str(self.cfg), '')
def test_last_line(self):
self.cfg.newsection.newproperty = "Ok"
self.assertEqual(str(self.cfg), dedent("""\
[newsection]
newproperty = Ok"""))
tidy(self.cfg)
self.assertEqual(str(self.cfg), dedent("""\
[newsection]
newproperty = Ok
"""))
def test_first_line(self):
s = dedent("""\
[newsection]
newproperty = Ok
""")
self.cfg._readfp(StringIO(s))
tidy(self.cfg)
self.assertEqual(str(self.cfg), dedent("""\
[newsection]
newproperty = Ok
"""))
def test_remove_newlines(self):
s = dedent("""\
[newsection]
newproperty = Ok
[newsection2]
newproperty2 = Ok
newproperty3 = yup
[newsection4]
# remove blank lines, but leave continuation lines unharmed
a = 1
b = l1
l2
# asdf
l5
c = 2
""")
self.cfg._readfp(StringIO(s))
tidy(self.cfg)
self.assertEqual(str(self.cfg), dedent("""\
[newsection]
newproperty = Ok
[newsection2]
newproperty2 = Ok
newproperty3 = yup
[newsection4]
# remove blank lines, but leave continuation lines unharmed
a = 1
b = l1
l2
# asdf
l5
c = 2
"""))
def test_compat(self):
s = dedent("""
[sec1]
a=1
[sec2]
b=2
c=3
""")
cfg = ConfigParser()
cfg.readfp(StringIO(s))
tidy(cfg)
self.assertEqual(str(cfg.data), dedent("""\
[sec1]
a=1
[sec2]
b=2
c=3
"""))
|