Fix day filter
[cds-indico.git] / indico / util / fs_test.py
blob910c6c949a9c2ac321774e6fdf7d2a87fddce763
1 # This file is part of Indico.
2 # Copyright (C) 2002 - 2015 European Organization for Nuclear Research (CERN).
4 # Indico is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License as
6 # published by the Free Software Foundation; either version 3 of the
7 # License, or (at your option) any later version.
9 # Indico is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with Indico; if not, see <http://www.gnu.org/licenses/>.
17 import pytest
19 from indico.util.fs import secure_filename
22 @pytest.mark.parametrize(('filename', 'expected'), (
23 ('', 'fallback'),
24 (None, 'fallback'),
25 ('foo.txt', 'foo.txt'),
26 ('', 'fallback'),
27 ('../../../etc/passwd', 'etc_passwd'),
28 (u'm\xf6p.txt', 'moep.txt'),
29 (u'm\xf6p.txt'.encode('utf-8'), 'moep.txt'),
30 (u'/m\xf6p.txt', 'moep.txt'),
31 (r'spacy \filename', 'spacy_filename'),
33 def test_secure_filename(filename, expected):
34 assert secure_filename(filename, 'fallback') == expected