5261 |
5261 |
assert '<span class="label">Bar</span>' in resp.body
|
5262 |
5262 |
assert '<span class="label">Foo</span>' not in resp.body
|
5263 |
5263 |
|
|
5264 |
def test_field_unicode_condition(pub):
|
|
5265 |
FormDef.wipe()
|
|
5266 |
formdef = FormDef()
|
|
5267 |
formdef.name = 'Foo'
|
|
5268 |
formdef.fields = [
|
|
5269 |
fields.PageField(id='0', label='2nd page', type='page'),
|
|
5270 |
fields.StringField(type='string', id='1', label='Bar', size='40',
|
|
5271 |
required=True, varname='bar'),
|
|
5272 |
fields.PageField(id='3', label='1st page', type='page'),
|
|
5273 |
fields.StringField(type='string', id='4', label='Baz', size='40',
|
|
5274 |
required=True, varname='baz',
|
|
5275 |
condition={'type': 'django', 'value': 'form_var_bar == "éléphant"'}),
|
|
5276 |
]
|
|
5277 |
formdef.store()
|
|
5278 |
|
|
5279 |
resp = get_app(pub).get('/foo/')
|
|
5280 |
resp.form['f1'] = 'hello'
|
|
5281 |
resp = resp.form.submit('submit')
|
|
5282 |
assert not 'f4' in resp.form.fields
|
|
5283 |
|
|
5284 |
resp = get_app(pub).get('/foo/')
|
|
5285 |
resp.form['f1'] = 'éléphant'
|
|
5286 |
resp = resp.form.submit('submit')
|
|
5287 |
assert 'f4' in resp.form.fields
|
|
5288 |
|
|
5289 |
def test_field_unicode_condition_contains_in_list(pub):
|
|
5290 |
FormDef.wipe()
|
|
5291 |
formdef = FormDef()
|
|
5292 |
formdef.name = 'Foo'
|
|
5293 |
formdef.fields = [
|
|
5294 |
fields.PageField(id='0', label='2nd page', type='page'),
|
|
5295 |
fields.StringField(type='string', id='1', label='Bar', size='40',
|
|
5296 |
required=True, varname='bar'),
|
|
5297 |
fields.PageField(id='3', label='1st page', type='page'),
|
|
5298 |
fields.StringField(type='string', id='4', label='Baz', size='40',
|
|
5299 |
required=True, varname='baz',
|
|
5300 |
condition={'type': 'django', 'value': 'form_var_bar in "éléphant"|split'}),
|
|
5301 |
]
|
|
5302 |
formdef.store()
|
|
5303 |
|
|
5304 |
resp = get_app(pub).get('/foo/')
|
|
5305 |
resp.form['f1'] = 'hello'
|
|
5306 |
resp = resp.form.submit('submit')
|
|
5307 |
assert not 'f4' in resp.form.fields
|
|
5308 |
|
|
5309 |
resp = get_app(pub).get('/foo/')
|
|
5310 |
resp.form['f1'] = 'éléphant'
|
|
5311 |
resp = resp.form.submit('submit')
|
|
5312 |
assert 'f4' in resp.form.fields
|
|
5313 |
|
|
5314 |
def test_field_unicode_condition_contains_in_string(pub):
|
|
5315 |
FormDef.wipe()
|
|
5316 |
formdef = FormDef()
|
|
5317 |
formdef.name = 'Foo'
|
|
5318 |
formdef.fields = [
|
|
5319 |
fields.PageField(id='0', label='2nd page', type='page'),
|
|
5320 |
fields.StringField(type='string', id='1', label='Bar', size='40',
|
|
5321 |
required=True, varname='bar'),
|
|
5322 |
fields.PageField(id='3', label='1st page', type='page'),
|
|
5323 |
fields.StringField(type='string', id='4', label='Baz', size='40',
|
|
5324 |
required=True, varname='baz',
|
|
5325 |
condition={'type': 'django', 'value': '"éléphant" in form_var_bar'}),
|
|
5326 |
]
|
|
5327 |
formdef.store()
|
|
5328 |
|
|
5329 |
resp = get_app(pub).get('/foo/')
|
|
5330 |
resp.form['f1'] = 'hello'
|
|
5331 |
resp = resp.form.submit('submit')
|
|
5332 |
assert not 'f4' in resp.form.fields
|
|
5333 |
|
|
5334 |
resp = get_app(pub).get('/foo/')
|
|
5335 |
resp.form['f1'] = 'éléphant'
|
|
5336 |
resp = resp.form.submit('submit')
|
|
5337 |
assert 'f4' in resp.form.fields
|
|
5338 |
|
5264 |
5339 |
def test_field_live_condition(pub):
|
5265 |
5340 |
FormDef.wipe()
|
5266 |
5341 |
formdef = FormDef()
|