Commit b78cd41a authored by Fred Drake's avatar Fred Drake

Added (very) minimal tests of the RawConfigParser class.

Moved the write() test to near the end of the file since it screws up
font-lock.  ;-(
parent 58a0a309
......@@ -55,22 +55,6 @@ def basic(src):
'this line is much, much longer than my editor\nlikes it.')
def write(src):
print "Testing writing of files..."
cf = ConfigParser.ConfigParser()
sio = StringIO.StringIO(src)
cf.readfp(sio)
output = StringIO.StringIO()
cf.write(output)
verify(output, """[DEFAULT]
foo = another very
long line
[Long Line]
foo = this line is much, much longer than my editor
likes it.
""")
def case_sensitivity():
print "Testing case sensitivity..."
cf = ConfigParser.ConfigParser()
......@@ -138,6 +122,20 @@ def interpolation(src):
== "something with lots of interpolation (10 steps)")
expect_get_error(cf, ConfigParser.InterpolationDepthError, "Foo", "bar11")
# Now make sure we don't interpolate if we use RawConfigParser:
cf = ConfigParser.RawConfigParser({"getname": "%(__name__)s"})
sio = StringIO.StringIO(src)
cf.readfp(sio)
verify(cf.get("Foo", "getname") == "%(__name__)s")
verify(cf.get("Foo", "bar")
== "something %(with1)s interpolation (1 step)")
verify(cf.get("Foo", "bar9")
== "something %(with9)s lots of interpolation (9 steps)")
verify(cf.get("Foo", "bar10")
== "something %(with10)s lots of interpolation (10 steps)")
verify(cf.get("Foo", "bar11")
== "something %(with11)s lots of interpolation (11 steps)")
def parse_errors():
print "Testing parse errors..."
......@@ -212,6 +210,27 @@ def expect_parse_error(exctype, src):
raise TestFailed("Failed to catch expected " + exctype.__name__)
# The long string literals present in the rest of the file screw up
# font-lock in Emacs/XEmacs, so this stuff needs to stay near the end
# of this file.
def write(src):
print "Testing writing of files..."
cf = ConfigParser.ConfigParser()
sio = StringIO.StringIO(src)
cf.readfp(sio)
output = StringIO.StringIO()
cf.write(output)
verify(output, """[DEFAULT]
foo = another very
long line
[Long Line]
foo = this line is much, much longer than my editor
likes it.
""")
basic(r"""
[Foo Bar]
foo=bar
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment