mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-03 22:07:07 -05:00 
			
		
		
		
	[test_utils] Add tests for cli option converters
This commit is contained in:
		@@ -64,6 +64,9 @@ from youtube_dl.utils import (
 | 
			
		||||
    match_str,
 | 
			
		||||
    parse_dfxp_time_expr,
 | 
			
		||||
    dfxp2srt,
 | 
			
		||||
    cli_option,
 | 
			
		||||
    cli_valueless_option,
 | 
			
		||||
    cli_bool_option,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -674,6 +677,51 @@ The first line
 | 
			
		||||
'''
 | 
			
		||||
        self.assertEqual(dfxp2srt(dfxp_data_no_default_namespace), srt_data)
 | 
			
		||||
 | 
			
		||||
    def test_cli_option(self):
 | 
			
		||||
        self.assertEqual(cli_option({'proxy': '127.0.0.1:3128'}, '--proxy', 'proxy'), ['--proxy', '127.0.0.1:3128'])
 | 
			
		||||
        self.assertEqual(cli_option({'proxy': None}, '--proxy', 'proxy'), [])
 | 
			
		||||
        self.assertEqual(cli_option({}, '--proxy', 'proxy'), [])
 | 
			
		||||
 | 
			
		||||
    def test_cli_valueless_option(self):
 | 
			
		||||
        self.assertEqual(cli_valueless_option(
 | 
			
		||||
            {'downloader': 'external'}, '--external-downloader', 'downloader', 'external'), ['--external-downloader'])
 | 
			
		||||
        self.assertEqual(cli_valueless_option(
 | 
			
		||||
            {'downloader': 'internal'}, '--external-downloader', 'downloader', 'external'), [])
 | 
			
		||||
        self.assertEqual(cli_valueless_option(
 | 
			
		||||
            {'nocheckcertificate': True}, '--no-check-certificate', 'nocheckcertificate'), ['--no-check-certificate'])
 | 
			
		||||
        self.assertEqual(cli_valueless_option(
 | 
			
		||||
            {'nocheckcertificate': False}, '--no-check-certificate', 'nocheckcertificate'), [])
 | 
			
		||||
        self.assertEqual(cli_valueless_option(
 | 
			
		||||
            {'checkcertificate': True}, '--no-check-certificate', 'checkcertificate', False), [])
 | 
			
		||||
        self.assertEqual(cli_valueless_option(
 | 
			
		||||
            {'checkcertificate': False}, '--no-check-certificate', 'checkcertificate', False), ['--no-check-certificate'])
 | 
			
		||||
 | 
			
		||||
    def test_cli_bool_option(self):
 | 
			
		||||
        self.assertEqual(
 | 
			
		||||
            cli_bool_option(
 | 
			
		||||
                {'nocheckcertificate': True}, '--no-check-certificate', 'nocheckcertificate'),
 | 
			
		||||
            ['--no-check-certificate', 'true'])
 | 
			
		||||
        self.assertEqual(
 | 
			
		||||
            cli_bool_option(
 | 
			
		||||
                {'nocheckcertificate': True}, '--no-check-certificate', 'nocheckcertificate', separator='='),
 | 
			
		||||
            ['--no-check-certificate=true'])
 | 
			
		||||
        self.assertEqual(
 | 
			
		||||
            cli_bool_option(
 | 
			
		||||
                {'nocheckcertificate': True}, '--check-certificate', 'nocheckcertificate', 'false', 'true'),
 | 
			
		||||
            ['--check-certificate', 'false'])
 | 
			
		||||
        self.assertEqual(
 | 
			
		||||
            cli_bool_option(
 | 
			
		||||
                {'nocheckcertificate': True}, '--check-certificate', 'nocheckcertificate', 'false', 'true', '='),
 | 
			
		||||
            ['--check-certificate=false'])
 | 
			
		||||
        self.assertEqual(
 | 
			
		||||
            cli_bool_option(
 | 
			
		||||
                {'nocheckcertificate': False}, '--check-certificate', 'nocheckcertificate', 'false', 'true'),
 | 
			
		||||
            ['--check-certificate', 'true'])
 | 
			
		||||
        self.assertEqual(
 | 
			
		||||
            cli_bool_option(
 | 
			
		||||
                {'nocheckcertificate': False}, '--check-certificate', 'nocheckcertificate', 'false', 'true', '='),
 | 
			
		||||
            ['--check-certificate=true'])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    unittest.main()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user