| | |
| | | import datetime |
| | | import locale |
| | | import os |
| | | import platform |
| | | import unittest |
| | | |
| | | from pyramid.wsgi import wsgiapp |
| | |
| | | res = self.testapp.get('/static/.hiddenfile', status=200) |
| | | _assertBody(res.body, os.path.join(here, 'fixtures/static/.hiddenfile')) |
| | | |
| | | if defaultlocale is not None and platform.system() == 'Linux': |
| | | if defaultlocale is not None: |
| | | # These tests are expected to fail on LANG=C systems due to decode |
| | | # errors and on non-Linux systems due to git highchar handling |
| | | # vagaries |
| | | def test_highchars_in_pathelement(self): |
| | | url = url_quote('/static/héhé/index.html') |
| | | res = self.testapp.get(url, status=200) |
| | | _assertBody( |
| | | res.body, |
| | | os.path.join(here, |
| | | text_('fixtures/static/héhé/index.html', 'utf-8')) |
| | | ) |
| | | path = os.path.join( |
| | | here, |
| | | text_('fixtures/static/héhé/index.html', 'utf-8')) |
| | | pathdir = os.path.dirname(path) |
| | | body = b'<html>hehe</html>\n' |
| | | try: |
| | | os.makedirs(pathdir) |
| | | with open(path, 'wb') as fp: |
| | | fp.write(body) |
| | | url = url_quote('/static/héhé/index.html') |
| | | res = self.testapp.get(url, status=200) |
| | | self.assertEqual(res.body, body) |
| | | finally: |
| | | os.unlink(path) |
| | | os.rmdir(pathdir) |
| | | |
| | | def test_highchars_in_filename(self): |
| | | url = url_quote('/static/héhé.html') |
| | | res = self.testapp.get(url, status=200) |
| | | _assertBody( |
| | | res.body, |
| | | os.path.join(here, |
| | | text_('fixtures/static/héhé.html', 'utf-8')) |
| | | ) |
| | | path = os.path.join( |
| | | here, |
| | | text_('fixtures/static/héhé.html', 'utf-8')) |
| | | body = b'<html>hehe file</html>\n' |
| | | with open(path, 'wb') as fp: |
| | | fp.write(body) |
| | | try: |
| | | url = url_quote('/static/héhé.html') |
| | | res = self.testapp.get(url, status=200) |
| | | self.assertEqual(res.body, body) |
| | | finally: |
| | | os.unlink(path) |
| | | |
| | | def test_not_modified(self): |
| | | self.testapp.extra_environ = { |
| | |
| | | data = data.replace(b'\r', b'') |
| | | data = data.replace(b'\n', b'') |
| | | assert(body == data) |
| | | |