def test_format_option_with_target(self): with self.assertRaises(KeyError): ui.CommonOptionsParser().add_format_option(target='thingy') parser = ui.CommonOptionsParser() parser.add_format_option(target='item') config['format_item'].set('$item') config['format_album'].set('$album') self.assertEqual(parser.parse_args(['-f', '$bar']), ({'format': '$bar'}, [])) self.assertEqual(config['format_item'].get(unicode), '$bar') self.assertEqual(config['format_album'].get(unicode), '$album')
def test_add_all_common_options(self): parser = ui.CommonOptionsParser() parser.add_all_common_options() self.assertEqual(parser.parse_args([]), ({ 'album': None, 'path': None, 'format': None }, []))
def test_album_option(self): parser = ui.CommonOptionsParser() self.assertFalse(parser._album_flags) parser.add_album_option() self.assertTrue(bool(parser._album_flags)) self.assertEqual(parser.parse_args([]), ({'album': None}, [])) self.assertEqual(parser.parse_args(['-a']), ({'album': True}, [])) self.assertEqual(parser.parse_args(['--album']), ({'album': True}, []))
def test_format_option(self): parser = ui.CommonOptionsParser() parser.add_format_option() self.assertFalse(parser._album_flags) config['format_item'].set('$foo') self.assertEqual(parser.parse_args([]), ({'format': None}, [])) self.assertEqual(config['format_item'].get(unicode), u'$foo') self.assertEqual(parser.parse_args(['-f', '$bar']), ({'format': '$bar'}, [])) self.assertEqual(parser.parse_args(['--format', '$baz']), ({'format': '$baz'}, [])) self.assertEqual(config['format_item'].get(unicode), '$baz') self.assertEqual(config['format_album'].get(unicode), '$baz')
def test_path_option(self): parser = ui.CommonOptionsParser() parser.add_path_option() self.assertFalse(parser._album_flags) config['format_item'].set('$foo') self.assertEqual(parser.parse_args([]), ({'path': None}, [])) self.assertEqual(config['format_item'].get(unicode), u'$foo') self.assertEqual(parser.parse_args(['-p']), ({'path': True, 'format': '$path'}, [])) self.assertEqual(parser.parse_args(['--path']), ({'path': True, 'format': '$path'}, [])) self.assertEqual(config['format_item'].get(unicode), '$path') self.assertEqual(config['format_album'].get(unicode), '$path')
def test_format_option_with_album(self): parser = ui.CommonOptionsParser() parser.add_album_option() parser.add_format_option() config['format_item'].set('$item') config['format_album'].set('$album') parser.parse_args([u'-f', u'$bar']) self.assertEqual(config['format_item'].get(unicode), u'$bar') self.assertEqual(config['format_album'].get(unicode), u'$album') parser.parse_args([u'-a', u'-f', u'$foo']) self.assertEqual(config['format_item'].get(unicode), u'$bar') self.assertEqual(config['format_album'].get(unicode), u'$foo') parser.parse_args([u'-f', u'$foo2', u'-a']) self.assertEqual(config['format_album'].get(unicode), u'$foo2')