0001-misc-return-correct-mimetype-for-thumbnailed-files-1.patch
tests/test_form_pages.py | ||
---|---|---|
11 | 11 |
from webtest import Upload |
12 | 12 |
import mock |
13 | 13 | |
14 |
try: |
|
15 |
from PIL import Image |
|
16 |
except ImportError: |
|
17 |
Image = None |
|
18 | ||
14 | 19 |
from quixote.http_request import Upload as QuixoteUpload |
15 | 20 |
from wcs.qommon.form import UploadedFile |
16 | 21 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
... | ... | |
1493 | 1498 |
assert resp.content_type == 'text/plain' |
1494 | 1499 |
assert resp.body == 'foobar' |
1495 | 1500 | |
1501 |
def test_form_file_field_image_submit(pub): |
|
1502 |
formdef = create_formdef() |
|
1503 |
formdef.fields = [fields.FileField(id='0', label='file')] |
|
1504 |
formdef.store() |
|
1505 |
formdef.data_class().wipe() |
|
1506 | ||
1507 |
image_content = open(os.path.join(os.path.dirname(__file__), 'image-with-gps-data.jpeg')).read() |
|
1508 |
upload = Upload('test.jpg', image_content, 'image/jpeg') |
|
1509 | ||
1510 |
app = get_app(pub) |
|
1511 |
resp = app.get('/test/') |
|
1512 |
resp.forms[0]['f0$file'] = upload |
|
1513 |
resp = resp.forms[0].submit('submit') |
|
1514 |
assert 'Check values then click submit.' in resp.body |
|
1515 |
assert '<img alt="" src="tempfile?' in resp.body |
|
1516 |
tempfile_id = resp.body[resp.body.index('tempfile?'):].split('&', 1)[0].split('=')[1] |
|
1517 | ||
1518 |
resp = app.get('/test/tempfile?t=%s' % tempfile_id) |
|
1519 |
assert resp.body == image_content |
|
1520 | ||
1521 |
if Image: # check thumbnailing |
|
1522 |
resp = app.get('/test/tempfile?t=%s&thumbnail=1' % tempfile_id) |
|
1523 |
assert resp.content_type == 'image/png' |
|
1524 | ||
1496 | 1525 |
def test_form_file_field_submit_wrong_mimetype(pub): |
1497 | 1526 |
formdef = create_formdef() |
1498 | 1527 |
formdef.fields = [fields.FileField(id='0', label='file')] |
wcs/forms/root.py | ||
---|---|---|
1023 | 1023 |
except IOError: |
1024 | 1024 |
# too bad we couldn't load the image, return the whole file :/ |
1025 | 1025 |
return file_pointer.read() |
1026 |
response.set_content_type('image/png') |
|
1026 | 1027 |
return image_thumb_fp.getvalue() |
1027 | 1028 |
else: |
1028 | 1029 |
return file_pointer.read() |
1029 |
- |