[options] Correctly hide login info from debug outputs (#13696)

Iterate over opts instead of PRIVATE_OPTS for both performance and
correctness
This commit is contained in:
Yen Chi Hsuan 2017-07-23 16:21:35 +08:00
parent 0db492c02a
commit 905d18a7aa
No known key found for this signature in database
GPG key ID: 7F902A182457CA23
3 changed files with 50 additions and 20 deletions

26
test/test_options.py Normal file
View file

@ -0,0 +1,26 @@
# coding: utf-8
from __future__ import unicode_literals
# Allow direct execution
import os
import sys
import unittest
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from youtube_dl.options import _hide_login_info
class TestOptions(unittest.TestCase):
def test_hide_login_inf(self):
self.assertEqual(_hide_login_info(['-u', 'foo', '-p', 'bar']),
['-u', 'PRIVATE', '-p', 'PRIVATE'])
self.assertEqual(_hide_login_info(['-u']), ['-u'])
self.assertEqual(_hide_login_info(['-u', 'foo', '-u', 'bar']),
['-u', 'PRIVATE', '-u', 'PRIVATE'])
self.assertEqual(_hide_login_info(['--username=foo']),
['--username=PRIVATE'])
if __name__ == '__main__':
unittest.main()