Allow unicode strings in parser.add_argument()
This fixes issue360 by also converting unicode strings to the argparse syntax instead of just native strings.
This commit is contained in:
		
							parent
							
								
									895d52471b
								
							
						
					
					
						commit
						1db6fc87c7
					
				|  | @ -1,7 +1,8 @@ | |||
| Changes between 2.4.0 and X | ||||
| ----------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| - fix issue360: When using parser.addoption() unicode arguments to the | ||||
|   "type" keyword should also be converted to the respective types. | ||||
| 
 | ||||
| Changes between 2.3.5 and 2.4 | ||||
| ----------------------------------- | ||||
|  |  | |||
|  | @ -238,7 +238,7 @@ class Argument: | |||
|             pass | ||||
|         else: | ||||
|             # this might raise a keyerror as well, don't want to catch that | ||||
|             if isinstance(typ, str): | ||||
|             if isinstance(typ, py.builtin._basestring): | ||||
|                 if typ == 'choice': | ||||
|                     if self.TYPE_WARN: | ||||
|                         py.std.warnings.warn( | ||||
|  |  | |||
|  | @ -113,6 +113,17 @@ class TestConfigAPI: | |||
|             assert config.getoption(x) == "this" | ||||
|         pytest.raises(ValueError, "config.getoption('qweqwe')") | ||||
| 
 | ||||
|     @pytest.mark.skipif('sys.version_info[:2] not in [(2, 6), (2, 7)]') | ||||
|     def test_config_getoption_unicode(self, testdir): | ||||
|         testdir.makeconftest(""" | ||||
|             from __future__ import unicode_literals | ||||
| 
 | ||||
|             def pytest_addoption(parser): | ||||
|                 parser.addoption('--hello', type='string') | ||||
|         """) | ||||
|         config = testdir.parseconfig('--hello=this') | ||||
|         assert config.getoption('hello') == 'this' | ||||
| 
 | ||||
|     def test_config_getvalueorskip(self, testdir): | ||||
|         config = testdir.parseconfig() | ||||
|         pytest.raises(pytest.skip.Exception, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue