mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #22780 -- Checked that LOCALE_PATHS is really a tuple
This commit is contained in:
		
				
					committed by
					
						 Claude Paroz
						Claude Paroz
					
				
			
			
				
	
			
			
			
						parent
						
							868ff4e37c
						
					
				
				
					commit
					a1c6cd6a16
				
			| @@ -98,7 +98,7 @@ class Settings(BaseSettings): | ||||
|                 % (self.SETTINGS_MODULE, e) | ||||
|             ) | ||||
|  | ||||
|         tuple_settings = ("INSTALLED_APPS", "TEMPLATE_DIRS") | ||||
|         tuple_settings = ("INSTALLED_APPS", "TEMPLATE_DIRS", "LOCALE_PATHS") | ||||
|         self._explicit_settings = set() | ||||
|         for setting in dir(mod): | ||||
|             if setting.isupper(): | ||||
|   | ||||
| @@ -436,3 +436,24 @@ class IsOverriddenTest(TestCase): | ||||
|         self.assertFalse(settings.is_overridden('TEMPLATE_LOADERS')) | ||||
|         with override_settings(TEMPLATE_LOADERS=[]): | ||||
|             self.assertTrue(settings.is_overridden('TEMPLATE_LOADERS')) | ||||
|  | ||||
|  | ||||
| class TestTupleSettings(unittest.TestCase): | ||||
|     """ | ||||
|     Make sure settings that should be tuples throw ImproperlyConfigured if they | ||||
|     are set to a string instead of a tuple. | ||||
|     """ | ||||
|     tuple_settings = ("INSTALLED_APPS", "TEMPLATE_DIRS", "LOCALE_PATHS") | ||||
|  | ||||
|     def test_tuple_settings(self): | ||||
|         settings_module = ModuleType('fake_settings_module') | ||||
|         settings_module.SECRET_KEY = 'foo' | ||||
|         for setting in self.tuple_settings: | ||||
|             setattr(settings_module, setting, ('non_tuple_value')) | ||||
|             sys.modules['fake_settings_module'] = settings_module | ||||
|             try: | ||||
|                 with self.assertRaises(ImproperlyConfigured): | ||||
|                     s = Settings('fake_settings_module') | ||||
|             finally: | ||||
|                 del sys.modules['fake_settings_module'] | ||||
|                 delattr(settings_module, setting) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user