[IMP]: Improve view validation

bzr revid: aja@tinyerp.com-20120730051446-i5krti4889lwbgcn
This commit is contained in:
ajay javiya (OpenERP) 2012-07-30 10:44:46 +05:30
parent 337b364bc7
commit 74c5af12d5
2 changed files with 17 additions and 40 deletions

View File

@ -63,8 +63,8 @@ invalid_graph = etree.parse(StringIO('''\
valid_graph = etree.parse(StringIO('''\
<graph string="">
<field></field>
<field></field>
<field name=""></field>
<field name=""></field>
</graph>
''')).getroot()
@ -82,9 +82,10 @@ invalid_tree = etree.parse(StringIO('''\
valid_tree= etree.parse(StringIO('''\
<tree string="">
<button></button>
<field></field>
<field></field>
<field></field>
<label string=""></label>
<field name=""></field>
<field name=""></field>
<field name=""></field>
<button></button>
</tree>
''')).getroot()
@ -104,15 +105,15 @@ class test_view_validation(unittest2.TestCase):
assert not valid_att_in_field(invalid_form)
assert valid_att_in_field(valid_form)
assert not valid_field_view(invalid_form)
assert valid_field_view(valid_form)
assert not valid_view(invalid_form)
assert valid_view(valid_form)
def test_all_label_validation(self):
assert not valid_att_in_label(invalid_form)
assert valid_att_in_label(valid_form)
assert not valid_label_view(invalid_form)
assert valid_label_view(valid_form)
assert not valid_view(invalid_form)
assert valid_view(valid_form)
def test_form_string_validation(self):
assert not valid_att_in_form(invalid_form)
@ -153,15 +154,15 @@ class test_view_validation(unittest2.TestCase):
assert not valid_type_in_colspan(invalid_form)
assert valid_type_in_colspan(valid_form)
assert not valid_colspan_view(invalid_form)
assert valid_colspan_view(valid_form)
assert not valid_view(invalid_form)
assert valid_view(valid_form)
def test_col_datatype_validation(self):
assert not valid_type_in_col(invalid_form)
assert valid_type_in_col(valid_form)
assert not valid_col_view(invalid_form)
assert valid_col_view(valid_form)
assert not valid_view(invalid_form)
assert valid_view(valid_form)
if __name__ == '__main__':

View File

@ -42,41 +42,17 @@ def valid_type_in_col(arch):
return False
return True
def valid_colspan_view(arch):
for pred in [valid_type_in_colspan]:
if not pred(arch):
return False
return True
def valid_col_view(arch):
for pred in [valid_type_in_col]:
if not pred(arch):
return False
return True
def valid_field_view(arch):
for pred in [valid_att_in_field]:
if not pred(arch):
return False
return True
def valid_label_view(arch):
for pred in [valid_att_in_label]:
if not pred(arch):
return False
return True
def valid_view(arch):
if arch.tag == 'form':
for pred in [valid_page_in_book,valid_att_in_form]:
for pred in [valid_page_in_book,valid_att_in_form,valid_type_in_colspan,valid_type_in_col,valid_att_in_field,valid_att_in_label]:
if not pred(arch):
return False
elif arch.tag == 'graph':
for pred in [valid_field_in_graph]:
for pred in [valid_field_in_graph,valid_type_in_colspan,valid_type_in_col,valid_att_in_field,valid_att_in_label]:
if not pred(arch):
return False
elif arch.tag == 'tree':
for pred in [valid_field_in_tree]:
for pred in [valid_field_in_tree,valid_type_in_colspan,valid_type_in_col,valid_att_in_field,valid_att_in_label]:
if not pred(arch):
return False
return True