|
2 | 2 | import os
|
3 | 3 | from collections.abc import Iterable
|
4 | 4 |
|
| 5 | +import django |
5 | 6 | import pytest
|
6 | 7 | from django.db.models import QuerySet
|
7 | 8 | from django.urls import reverse
|
@@ -57,6 +58,13 @@ def test_lang_attr(self):
|
57 | 58 | with translation.override("de"):
|
58 | 59 | assert widget.i18n_name == "de"
|
59 | 60 |
|
| 61 | + # Handle language code with country |
| 62 | + with translation.override("fr-FR"): |
| 63 | + if django.VERSION < (4, 1): |
| 64 | + assert widget.i18n_name is None |
| 65 | + else: |
| 66 | + assert widget.i18n_name == "fr" |
| 67 | + |
60 | 68 | def test_allow_clear(self, db):
|
61 | 69 | required_field = self.form.fields["artist"]
|
62 | 70 | assert required_field.required is True
|
@@ -175,6 +183,20 @@ def test_i18n(self):
|
175 | 183 | "django_select2/django_select2.js",
|
176 | 184 | )
|
177 | 185 |
|
| 186 | + translation.activate("fr-FR") |
| 187 | + with translation.override("fr-FR"): |
| 188 | + if django.VERSION < (4, 1): |
| 189 | + assert tuple(Select2Widget().media._js) == ( |
| 190 | + "admin/js/vendor/select2/select2.full.min.js", |
| 191 | + "django_select2/django_select2.js", |
| 192 | + ) |
| 193 | + else: |
| 194 | + assert tuple(Select2Widget().media._js) == ( |
| 195 | + "admin/js/vendor/select2/select2.full.min.js", |
| 196 | + "admin/js/vendor/select2/i18n/fr.js", |
| 197 | + "django_select2/django_select2.js", |
| 198 | + ) |
| 199 | + |
178 | 200 | def test_theme_setting(self, settings):
|
179 | 201 | settings.SELECT2_THEME = "classic"
|
180 | 202 | widget = self.widget_cls()
|
@@ -261,6 +283,13 @@ def test_lang_attr(self):
|
261 | 283 | widget = self.widget_cls(data_view="heavy_data_1")
|
262 | 284 | assert 'lang="fr"' in widget.render("name", None)
|
263 | 285 |
|
| 286 | + # Handle language code with country |
| 287 | + with translation.override("fr-FR"): |
| 288 | + if django.VERSION < (4, 1): |
| 289 | + assert widget.i18n_name is None |
| 290 | + else: |
| 291 | + assert widget.i18n_name == "fr" |
| 292 | + |
264 | 293 | def test_selected_option(self, db):
|
265 | 294 | not_required_field = self.form.fields["primary_genre"]
|
266 | 295 | assert not_required_field.required is False
|
|
0 commit comments