Projet

Général

Profil

0001-misc-use-unicode-strings-in-lazy_join-43287.patch

Benjamin Dauvergne, 26 mai 2020 10:20

Télécharger (2,63 ko)

Voir les différences:

Subject: [PATCH] misc: use unicode strings in lazy_join (#43287)

 src/authentic2/utils/lazy.py |  2 ++
 tests/test_utils_lazy.py     | 39 ++++++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+)
 create mode 100644 tests/test_utils_lazy.py
src/authentic2/utils/lazy.py
14 14
# You should have received a copy of the GNU Affero General Public License
15 15
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 16

  
17
from __future__ import unicode_literals
18

  
17 19
from django.utils.encoding import force_text
18 20
from django.utils import six
19 21
from django.utils.text import format_lazy
tests/test_utils_lazy.py
1
# authentic2 - versatile identity manager
2
# Copyright (C) 2010-2019 Entr'ouvert
3
#
4
# This program is free software: you can redistribute it and/or modify it
5
# under the terms of the GNU Affero General Public License as published
6
# by the Free Software Foundation, either version 3 of the License, or
7
# (at your option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
# GNU Affero General Public License for more details.
13
#
14
# You should have received a copy of the GNU Affero General Public License
15
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
16

  
17
from __future__ import unicode_literals
18

  
19
import pytest
20

  
21
from django.utils import six
22

  
23
from authentic2.utils.lazy import lazy_join
24

  
25

  
26
def test_lazy_join():
27
    assert lazy_join(', ', ['\xe9']) == '\xe9'
28
    assert lazy_join(', ', ['\xe9'] * 2) == '\xe9, \xe9'
29
    if six.PY2:
30
        assert lazy_join(b', ', ['\xe9']) == '\xe9'
31
        assert lazy_join(b', ', ['\xe9'] * 2) == '\xe9, \xe9'
32
        with pytest.raises(UnicodeDecodeError):
33
            assert lazy_join(b', ', [b'\xe9']) == ''
34
        with pytest.raises(UnicodeDecodeError):
35
            assert lazy_join(b', ', [b'\xe9'] * 2) == ''
36
        with pytest.raises(UnicodeDecodeError):
37
            assert lazy_join(', ', [b'\xe9']) == ''
38
        with pytest.raises(UnicodeDecodeError):
39
            assert lazy_join(', ', [b'\xe9'] * 2) == ''
0
-