def test_ignore_includes(self): ini.change_comment_syntax() cfg = ini.INIConfig(StringIO(dedent(""" # This is a mercurial-style config % include foobar [ui] username = Firstname Lastname <[email protected]> """))) self.assertEqual(cfg.ui.username, 'Firstname Lastname <[email protected]>') self.assertEqual(str(cfg), dedent(""" # This is a mercurial-style config % include foobar [ui] username = Firstname Lastname <[email protected]> """))
def test_ignore_includes(self): ini.change_comment_syntax() cfg = ini.INIConfig( StringIO( dedent(""" # This is a mercurial-style config % include foobar [ui] username = Firstname Lastname <[email protected]> """))) self.assertEqual(cfg.ui.username, 'Firstname Lastname <[email protected]>') self.assertEqual( str(cfg), dedent(""" # This is a mercurial-style config % include foobar [ui] username = Firstname Lastname <[email protected]> """))
def test_regex(self): # original regular expression org_regex = re.compile(r'^(?P<csep>[;#]|[rR][eE][mM])(?P<comment>.*)$') ini.change_comment_syntax(';#', True) self.assertEqual(ini.CommentLine.regex, org_regex) # mercurial-safe comment line regex, as given by Steve Borho & Paul Lambert # bitbucket.org/tortoisehg/stable/src/tip/tortoisehg/hgtk/thgconfig.py#cl-1084 # http://groups.google.com/group/iniparse-discuss/msg/b41a54aa185a9b7c hg_regex = re.compile(r'^(?P<csep>[%;#])(?P<comment>.*)$') ini.change_comment_syntax('%;#', False) self.assertEqual(ini.CommentLine.regex, hg_regex) # change_comment_syntax() defaults to hg regex ini.change_comment_syntax() self.assertEqual(ini.CommentLine.regex, hg_regex) # test escaping of special chars in pattern regex = re.compile(r'^(?P<csep>[;#\-\^[\]])(?P<comment>.*)$') ini.change_comment_syntax(';#-^[]') self.assertEqual(ini.CommentLine.regex, regex)
def tearDown(self): ini.change_comment_syntax(';#', True)