def test_config_from_file(): """Ensure that config file arguments are parsed properly""" args = { 'ascii': True, 'monochrome': True, 'persistent': False, 'clear_auth': True, 'log': 'logfile.log', 'link': 'https://reddit.com/permalink •', 'subreddit': 'cfb', 'enable_media': True, 'max_comment_cols': 150, 'max_pager_cols': 120, 'hide_username': True, 'theme': 'molokai', 'flash': True, 'autologin': True, } bindings = {'REFRESH': 'r, <KEY_F5>', 'UPVOTE': ''} with NamedTemporaryFile(suffix='.cfg') as fp: fargs, fbindings = Config.get_file(filename=fp.name) config = Config(**fargs) default_keymap = config.keymap._keymap.copy() config.keymap.set_bindings(fbindings) assert config.config == {} assert config.keymap._keymap == default_keymap # [rtv] rows = ['{0}={1}'.format(key, val) for key, val in args.items()] data = '\n'.join(['[rtv]'] + rows) fp.write(codecs.encode(data, 'utf-8')) # [bindings] rows = ['{0}={1}'.format(key, val) for key, val in bindings.items()] data = '\n'.join(['', '', '[bindings]'] + rows) fp.write(codecs.encode(data, 'utf-8')) fp.flush() fargs, fbindings = Config.get_file(filename=fp.name) config.update(**fargs) config.keymap.set_bindings(fbindings) assert config.config == args assert config.keymap.get('REFRESH') == ['r', '<KEY_F5>'] assert config.keymap.get('UPVOTE') == ['']
def test_config_from_file(): "Ensure that config file arguments are parsed properly" args = { 'ascii': True, 'monochrome': True, 'persistent': False, 'clear_auth': True, 'log': 'logfile.log', 'link': 'https://reddit.com/permalink •', 'subreddit': 'cfb', 'enable_media': True} bindings = { 'REFRESH': 'r, <KEY_F5>', 'UPVOTE': ''} with NamedTemporaryFile(suffix='.cfg') as fp: fargs, fbindings = Config.get_file(filename=fp.name) config = Config(**fargs) config.keymap.set_bindings(fbindings) assert config.config == {} assert config.keymap._keymap == {} # [rtv] rows = ['{0}={1}'.format(key, val) for key, val in args.items()] data = '\n'.join(['[rtv]'] + rows) fp.write(codecs.encode(data, 'utf-8')) # [bindings] rows = ['{0}={1}'.format(key, val) for key, val in bindings.items()] data = '\n'.join(['', '', '[bindings]'] + rows) fp.write(codecs.encode(data, 'utf-8')) fp.flush() fargs, fbindings = Config.get_file(filename=fp.name) config.update(**fargs) config.keymap.set_bindings(fbindings) assert config.config == args assert config.keymap.get('REFRESH') == ['r', '<KEY_F5>'] assert config.keymap.get('UPVOTE') == ['']
def test_config_from_file(): "Ensure that config file arguments are parsed properly" args = { 'ascii': True, 'persistent': False, 'clear_auth': True, 'log': 'logfile.log', 'link': 'https://reddit.com/permalink •', 'subreddit': 'cfb' } bindings = {'REFRESH': 'r, <KEY_F5>', 'UPVOTE': ''} with NamedTemporaryFile(suffix='.cfg') as fp: fargs, fbindings = Config.get_file(filename=fp.name) config = Config(**fargs) config.keymap.set_bindings(fbindings) assert config.config == {} assert config.keymap._keymap == {} # [rtv] rows = ['{0}={1}'.format(key, val) for key, val in args.items()] data = '\n'.join(['[rtv]'] + rows) fp.write(codecs.encode(data, 'utf-8')) # [bindings] rows = ['{0}={1}'.format(key, val) for key, val in bindings.items()] data = '\n'.join(['', '', '[bindings]'] + rows) fp.write(codecs.encode(data, 'utf-8')) fp.flush() fargs, fbindings = Config.get_file(filename=fp.name) config.update(**fargs) config.keymap.set_bindings(fbindings) assert config.config == args assert config.keymap.get('REFRESH') == ['r', '<KEY_F5>'] assert config.keymap.get('UPVOTE') == ['']
def test_config_from_file(): "Ensure that config file arguments are parsed properly" args = { 'ascii': True, 'persistent': False, 'clear_auth': True, 'log': 'logfile.log', 'link': 'https://reddit.com/permalink •', 'subreddit': 'cfb'} with NamedTemporaryFile(suffix='.cfg') as fp: fargs = Config.get_file(filename=fp.name) config = Config(**fargs) assert config.config == {} rows = ['{0}={1}'.format(key, val) for key, val in args.items()] data = '\n'.join(['[rtv]'] + rows) fp.write(codecs.encode(data, 'utf-8')) fp.flush() fargs = Config.get_file(filename=fp.name) config.update(**fargs) assert config.config == args