| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  | #!/usr/bin/env python | 
					
						
							| 
									
										
										
										
											2015-03-24 16:39:46 +01:00
										 |  |  | # coding: utf-8 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-01 15:52:34 +01:00
										 |  |  | import unittest | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import subprocess | 
					
						
							| 
									
										
										
										
											2015-04-04 19:21:50 +06:00
										 |  |  | sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from youtube_dl.utils import encodeArgument | 
					
						
							| 
									
										
										
										
											2012-12-01 15:52:34 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-01 15:52:34 +01:00
										 |  |  | try: | 
					
						
							|  |  |  |     _DEV_NULL = subprocess.DEVNULL | 
					
						
							|  |  |  | except AttributeError: | 
					
						
							|  |  |  |     _DEV_NULL = open(os.devnull, 'wb') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-01 15:52:34 +01:00
										 |  |  | class TestExecution(unittest.TestCase): | 
					
						
							|  |  |  |     def test_import(self): | 
					
						
							|  |  |  |         subprocess.check_call([sys.executable, '-c', 'import youtube_dl'], cwd=rootDir) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_module_exec(self): | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  |         if sys.version_info >= (2, 7):  # Python 2.6 doesn't support package execution | 
					
						
							| 
									
										
										
										
											2012-12-01 15:52:34 +01:00
										 |  |  |             subprocess.check_call([sys.executable, '-m', 'youtube_dl', '--version'], cwd=rootDir, stdout=_DEV_NULL) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_main_exec(self): | 
					
						
							|  |  |  |         subprocess.check_call([sys.executable, 'youtube_dl/__main__.py', '--version'], cwd=rootDir, stdout=_DEV_NULL) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-24 16:39:46 +01:00
										 |  |  |     def test_cmdline_umlauts(self): | 
					
						
							|  |  |  |         p = subprocess.Popen( | 
					
						
							| 
									
										
										
										
											2015-04-04 19:21:50 +06:00
										 |  |  |             [sys.executable, 'youtube_dl/__main__.py', encodeArgument('ä'), '--version'], | 
					
						
							| 
									
										
										
										
											2015-03-24 16:39:46 +01:00
										 |  |  |             cwd=rootDir, stdout=_DEV_NULL, stderr=subprocess.PIPE) | 
					
						
							|  |  |  |         _, stderr = p.communicate() | 
					
						
							|  |  |  |         self.assertFalse(stderr) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-01 15:52:34 +01:00
										 |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     unittest.main() |