mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #29452 -- Fixed makemessages setting charset of .pot files.
This commit is contained in:
		
				
					committed by
					
						 Tim Graham
						Tim Graham
					
				
			
			
				
	
			
			
			
						parent
						
							bc1435551c
						
					
				
				
					commit
					2bc014750a
				
			| @@ -1,6 +1,7 @@ | ||||
| import os | ||||
| import re | ||||
| import shutil | ||||
| import tempfile | ||||
| import time | ||||
| import warnings | ||||
| from io import StringIO | ||||
| @@ -12,7 +13,7 @@ from django.core import management | ||||
| from django.core.management import execute_from_command_line | ||||
| from django.core.management.base import CommandError | ||||
| from django.core.management.commands.makemessages import ( | ||||
|     Command as MakeMessagesCommand, | ||||
|     Command as MakeMessagesCommand, write_pot_file, | ||||
| ) | ||||
| from django.core.management.utils import find_command | ||||
| from django.test import SimpleTestCase, override_settings | ||||
| @@ -394,6 +395,26 @@ class BasicExtractorTests(ExtractorTests): | ||||
|             po_contents = fp.read() | ||||
|             self.assertMsgStr("Größe", po_contents) | ||||
|  | ||||
|     def test_pot_charset_header_is_utf8(self): | ||||
|         """Content-Type: ... charset=CHARSET is replaced with charset=UTF-8""" | ||||
|         msgs = ( | ||||
|             '# SOME DESCRIPTIVE TITLE.\n' | ||||
|             '# (some lines truncated as they are not relevant)\n' | ||||
|             '"Content-Type: text/plain; charset=CHARSET\\n"\n' | ||||
|             '"Content-Transfer-Encoding: 8bit\\n"\n' | ||||
|             '\n' | ||||
|             '#: somefile.py:8\n' | ||||
|             'msgid "mañana; charset=CHARSET"\n' | ||||
|             'msgstr ""\n' | ||||
|         ) | ||||
|         with tempfile.NamedTemporaryFile() as pot_file: | ||||
|             pot_filename = pot_file.name | ||||
|         write_pot_file(pot_filename, msgs) | ||||
|         with open(pot_filename, 'r', encoding='utf-8') as fp: | ||||
|             pot_contents = fp.read() | ||||
|             self.assertIn('Content-Type: text/plain; charset=UTF-8', pot_contents) | ||||
|             self.assertIn('mañana; charset=CHARSET', pot_contents) | ||||
|  | ||||
|  | ||||
| class JavascriptExtractorTests(ExtractorTests): | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user