1. from django.template import TemplateSyntaxError
    
  2. from django.test import SimpleTestCase
    
  3. 
    
  4. from ...utils import setup
    
  5. 
    
  6. 
    
  7. class GetAvailableLanguagesTagTests(SimpleTestCase):
    
  8.     libraries = {"i18n": "django.templatetags.i18n"}
    
  9. 
    
  10.     @setup(
    
  11.         {
    
  12.             "i18n12": "{% load i18n %}"
    
  13.             "{% get_available_languages as langs %}{% for lang in langs %}"
    
  14.             '{% if lang.0 == "de" %}{{ lang.0 }}{% endif %}{% endfor %}'
    
  15.         }
    
  16.     )
    
  17.     def test_i18n12(self):
    
  18.         output = self.engine.render_to_string("i18n12")
    
  19.         self.assertEqual(output, "de")
    
  20. 
    
  21.     @setup({"syntax_i18n": "{% load i18n %}{% get_available_languages a langs %}"})
    
  22.     def test_no_as_var(self):
    
  23.         msg = (
    
  24.             "'get_available_languages' requires 'as variable' (got "
    
  25.             "['get_available_languages', 'a', 'langs'])"
    
  26.         )
    
  27.         with self.assertRaisesMessage(TemplateSyntaxError, msg):
    
  28.             self.engine.render_to_string("syntax_i18n")