mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
	
	
		
			65 lines
		
	
	
	
		
			993 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
	
		
			993 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								# Test message extraction
							 | 
						||
| 
								 | 
							
								from gettext import gettext as _
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Empty string
							 | 
						||
| 
								 | 
							
								_("")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Extra parentheses
							 | 
						||
| 
								 | 
							
								(_("parentheses"))
							 | 
						||
| 
								 | 
							
								((_("parentheses")))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Multiline strings
							 | 
						||
| 
								 | 
							
								_("Hello, "
							 | 
						||
| 
								 | 
							
								  "world!")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								_("""Hello,
							 | 
						||
| 
								 | 
							
								    multiline!
							 | 
						||
| 
								 | 
							
								""")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Invalid arguments
							 | 
						||
| 
								 | 
							
								_()
							 | 
						||
| 
								 | 
							
								_(None)
							 | 
						||
| 
								 | 
							
								_(1)
							 | 
						||
| 
								 | 
							
								_(False)
							 | 
						||
| 
								 | 
							
								_(x="kwargs are not allowed")
							 | 
						||
| 
								 | 
							
								_("foo", "bar")
							 | 
						||
| 
								 | 
							
								_("something", x="something else")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# .format()
							 | 
						||
| 
								 | 
							
								_("Hello, {}!").format("world")  # valid
							 | 
						||
| 
								 | 
							
								_("Hello, {}!".format("world"))  # invalid
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Nested structures
							 | 
						||
| 
								 | 
							
								_("1"), _("2")
							 | 
						||
| 
								 | 
							
								arr = [_("A"), _("B")]
							 | 
						||
| 
								 | 
							
								obj = {'a': _("A"), 'b': _("B")}
							 | 
						||
| 
								 | 
							
								{{{_('set')}}}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Nested functions and classes
							 | 
						||
| 
								 | 
							
								def test():
							 | 
						||
| 
								 | 
							
								    _("nested string")  # XXX This should be extracted but isn't.
							 | 
						||
| 
								 | 
							
								    [_("nested string")]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class Foo:
							 | 
						||
| 
								 | 
							
								    def bar(self):
							 | 
						||
| 
								 | 
							
								        return _("baz")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def bar(x=_('default value')):  # XXX This should be extracted but isn't.
							 | 
						||
| 
								 | 
							
								    pass
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def baz(x=[_('default value')]):  # XXX This should be extracted but isn't.
							 | 
						||
| 
								 | 
							
								    pass
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Shadowing _()
							 | 
						||
| 
								 | 
							
								def _(x):
							 | 
						||
| 
								 | 
							
								    pass
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def _(x="don't extract me"):
							 | 
						||
| 
								 | 
							
								    pass
							 |