[Python-checkins] python/dist/src/Lib/test test_cfgparser.py,1.17,1.18
fdrake@users.sourceforge.net
fdrake@users.sourceforge.net
Fri, 25 Oct 2002 14:52:03 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv25460/Lib/test
Modified Files:
test_cfgparser.py
Log Message:
Implement a safer and more predictable interpolation approach.
Closes SF bug #511737.
Index: test_cfgparser.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_cfgparser.py,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** test_cfgparser.py 25 Oct 2002 20:42:44 -0000 1.17
--- test_cfgparser.py 25 Oct 2002 21:52:00 -0000 1.18
***************
*** 290,297 ****
def test_main():
suite = unittest.TestSuite()
suite.addTests([unittest.makeSuite(ConfigParserTestCase),
! unittest.makeSuite(RawConfigParserTestCase)])
test_support.run_suite(suite)
--- 290,312 ----
+ class SafeConfigParserTestCase(ConfigParserTestCase):
+ config_class = ConfigParser.SafeConfigParser
+
+ def test_safe_interpolation(self):
+ # See http://www.python.org/sf/511737
+ cf = self.fromstring("[section]\n"
+ "option1=xxx\n"
+ "option2=%(option1)s/xxx\n"
+ "ok=%(option1)s/%%s\n"
+ "not_ok=%(option2)s/%%s")
+ self.assertEqual(cf.get("section", "ok"), "xxx/%s")
+ self.assertEqual(cf.get("section", "not_ok"), "xxx/xxx/%s")
+
+
def test_main():
suite = unittest.TestSuite()
suite.addTests([unittest.makeSuite(ConfigParserTestCase),
! unittest.makeSuite(RawConfigParserTestCase),
! unittest.makeSuite(SafeConfigParserTestCase)])
test_support.run_suite(suite)