This patch adds testing to my ConfigParser-bool patch like GvR requested. See http://sourceforge.net/tracker/?func=detail&atid=305470&aid=467580&group_id=5470 for further enlightenment. --drt@un.bewaff.net - http://c0re.jp/ Index: Lib/test/test_cfgparser.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_cfgparser.py,v retrieving revision 1.8 diff -c -r1.8 test_cfgparser.py *** Lib/test/test_cfgparser.py 2001/07/06 17:22:48 1.8 --- Lib/test/test_cfgparser.py 2001/10/05 23:00:49 *************** *** 78,89 **** verify(cf.get("MySection", "Option") == "first line\nsecond line") def interpolation(src): print "Testing value interpolation..." cf = ConfigParser.ConfigParser({"getname": "%(__name__)s"}) sio = StringIO.StringIO(src) cf.readfp(sio) ! verify(cf.get("Foo", "getname") == "Foo") verify(cf.get("Foo", "bar") == "something with interpolation (1 step)") verify(cf.get("Foo", "bar9") == "something with lots of interpolation (9 steps)") --- 78,108 ---- verify(cf.get("MySection", "Option") == "first line\nsecond line") + def boolean(src): + print "Testing interpretation of boolean Values..." + cf = ConfigParser.ConfigParser() + sio = StringIO.StringIO(src) + cf.readfp(sio) + for x in range(1, 5): + verify(cf.getboolean('BOOLTEST', 't%d' % (x)) == 1) + for x in range(1, 5): + verify(cf.getboolean('BOOLTEST', 'f%d' % (x)) == 0) + for x in range(1, 5): + try: + cf.getboolean('BOOLTEST', 'e%d' % (x)) + except ValueError: + pass + else: + raise TestFailed( + "getboolean() failed to report a non boolean value") + + def interpolation(src): print "Testing value interpolation..." cf = ConfigParser.ConfigParser({"getname": "%(__name__)s"}) sio = StringIO.StringIO(src) cf.readfp(sio) ! verify(cf.get("Foo", "getname") == "Foo") verify(cf.get("Foo", "bar") == "something with interpolation (1 step)") verify(cf.get("Foo", "bar9") == "something with lots of interpolation (9 steps)") *************** *** 180,185 **** --- 199,222 ---- foo[de]=Deutsch """) case_sensitivity() + boolean(r""" + [BOOLTEST] + T1=1 + T2=TRUE + T3=True + T4=oN + T5=yes + F1=0 + F2=FALSE + F3=False + F4=oFF + F5=nO + E1=2 + E2=foo + E3=-1 + E4=0.1 + E5=FALSE AND MORE + """) interpolation(r""" [Foo] bar=something %(with1)s interpolation (1 step) Index: Lib/test/output/test_cfgparser =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/output/test_cfgparser,v retrieving revision 1.4 diff -c -r1.4 test_cfgparser *** Lib/test/output/test_cfgparser 2001/02/26 21:55:34 1.4 --- Lib/test/output/test_cfgparser 2001/10/05 23:00:54 *************** *** 1,6 **** --- 1,7 ---- test_cfgparser Testing basic accessors... Testing case sensitivity... + Testing interpretation of boolean Values... Testing value interpolation... Testing parse errors... Testing query interface...