1 # This test can be run stand-alone with something like:
2 # > PYTHONPATH=. python2 openerp/tests/test_view_validation.py
4 from StringIO import StringIO
7 from openerp.tools.view_validation import *
9 invalid_form = etree.parse(StringIO('''\
15 <label colspan="True"></label>
24 <field colspan="Five"> </field>
32 valid_form = etree.parse(StringIO('''\
34 <field name=""></field>
35 <field name=""></field>
38 <field name=""></field>
39 <label string=""></label>
40 <field name=""></field>
43 <group colspan="5" col="2">
44 <label for=""></label>
45 <label string="" colspan="5"></label>
52 invalid_graph = etree.parse(StringIO('''\
64 valid_graph = etree.parse(StringIO('''\
66 <field name=""></field>
67 <field name=""></field>
71 invalid_tree = etree.parse(StringIO('''\
82 valid_tree= etree.parse(StringIO('''\
84 <field name=""></field>
85 <field name=""></field>
87 <field name=""></field>
92 class test_view_validation(unittest2.TestCase):
93 """ Test the view validation code (but not the views themselves). """
95 def test_page_validation(self):
96 assert not valid_page_in_book(invalid_form)
97 assert valid_page_in_book(valid_form)
99 def test_all_field_validation(self):
100 assert not valid_att_in_field(invalid_form)
101 assert valid_att_in_field(valid_form)
103 def test_all_label_validation(self):
104 assert not valid_att_in_label(invalid_form)
105 assert valid_att_in_label(valid_form)
107 def test_form_string_validation(self):
108 assert not valid_att_in_form(invalid_form)
109 assert valid_att_in_form(valid_form)
111 def test_graph_validation(self):
112 assert not valid_field_in_graph(invalid_graph)
113 assert valid_field_in_graph(valid_graph)
115 def test_tree_validation(self):
116 assert not valid_field_in_tree(invalid_tree)
117 assert valid_field_in_tree(valid_tree)
119 def test_colspan_datatype_validation(self):
120 assert not valid_type_in_colspan(invalid_form)
121 assert valid_type_in_colspan(valid_form)
123 def test_col_datatype_validation(self):
124 assert not valid_type_in_col(invalid_form)
125 assert valid_type_in_col(valid_form)
128 if __name__ == '__main__':