tests: add more fields tests

This commit is contained in:
Frédéric Péters 2014-12-29 13:29:40 +01:00
parent 4fe81c600d
commit 87a1dc0ef6
1 changed files with 29 additions and 1 deletions

View File

@ -1,5 +1,7 @@
import shutil
import pytest
from quixote import cleanup
from quixote.http_request import HTTPRequest, Upload
from wcs.qommon import sessions
@ -13,7 +15,7 @@ def setup_module(module):
cleanup()
global pub
pub = create_temporary_pub()
req = HTTPRequest(None, {})
req = HTTPRequest(None, {'SERVER_NAME': 'example.net', 'SCRIPT_NAME': ''})
pub._set_request(req)
req.session = sessions.Session(id=1)
@ -21,6 +23,24 @@ def teardown_module(module):
global pub
shutil.rmtree(pub.APP_DIR)
def test_fill_admin_form():
for klass in fields.field_classes:
form = Form()
klass().fill_admin_form(form)
def test_get_admin_attributes():
for klass in fields.field_classes:
klass().get_admin_attributes()
def test_add_to_form():
for klass in fields.field_classes:
form = Form()
if klass is fields.PageField:
with pytest.raises(AttributeError):
klass(label='foo').add_to_form(form)
else:
klass(label='foo').add_to_form(form)
def test_string():
assert fields.StringField().get_view_value('foo') == 'foo'
assert fields.StringField().get_view_short_value('') == ''
@ -30,6 +50,14 @@ def test_string():
def test_text():
assert fields.TextField().get_view_short_value('foo'*10) == ('foo'*10)[:25] + ' (...)'
assert fields.TextField().get_view_value('foo') == '<p>foo</p>'
assert fields.TextField().get_view_value('foo\n\nfoo') == '<p>foo\n</p><p>\nfoo</p>'
assert fields.TextField(pre=True).get_view_value('foo') == '<pre>foo</pre>'
def test_email():
assert fields.EmailField().get_view_value('foo@localhost') == \
'<a href="mailto:foo@localhost">foo@localhost</a>'
assert fields.EmailField().get_rst_view_value('foo@localhost') == 'foo@localhost'
def test_bool():
assert fields.BoolField().get_view_value(True) == 'Yes'