0001-fields-keep-display_locations-empty-value-on-import-.patch
tests/test_formdef_import.py | ||
---|---|---|
86 | 86 |
assert not formdef2.description |
87 | 87 | |
88 | 88 | |
89 |
def test_empty_display_locations_tag(): |
|
90 |
formdef = FormDef() |
|
91 |
formdef.name = 'Foo' |
|
92 |
formdef.fields = [ |
|
93 |
fields.TitleField(type='title', label='title', display_locations=[]), |
|
94 |
fields.SubtitleField(type='subtitle', label='subtitle', display_locations=[]), |
|
95 |
fields.TextField(type='text', label='string', display_locations=[]), |
|
96 |
] |
|
97 | ||
98 |
formdef_xml = formdef.export_to_xml() |
|
99 |
f1 = formdef_xml.findall('fields/field')[0] |
|
100 |
f2 = formdef_xml.findall('fields/field')[1] |
|
101 |
f3 = formdef_xml.findall('fields/field')[2] |
|
102 |
assert '<display_locations />' in str(ET.tostring(f1)) |
|
103 |
assert '<display_locations />' in str(ET.tostring(f2)) |
|
104 |
assert '<display_locations />' in str(ET.tostring(f3)) |
|
105 | ||
106 |
formdef2 = assert_xml_import_export_works(formdef) |
|
107 |
assert formdef2.fields[0].display_locations == [] |
|
108 |
assert formdef2.fields[1].display_locations == [] |
|
109 |
assert formdef2.fields[2].display_locations == [] |
|
110 |
formdef2_xml = formdef2.export_to_xml() |
|
111 |
f1 = formdef2_xml.findall('fields/field')[0] |
|
112 |
f2 = formdef2_xml.findall('fields/field')[1] |
|
113 |
f3 = formdef2_xml.findall('fields/field')[2] |
|
114 |
assert '<display_locations />' in str(ET.tostring(f1)) |
|
115 |
assert '<display_locations />' in str(ET.tostring(f2)) |
|
116 |
assert '<display_locations />' in str(ET.tostring(f3)) |
|
117 | ||
118 | ||
89 | 119 |
def test_boolean_attributes(): |
90 | 120 |
formdef = FormDef() |
91 | 121 |
formdef.name = 'Foo' |
wcs/fields.py | ||
---|---|---|
349 | 349 |
setattr(self, attribute, v) |
350 | 350 |
else: |
351 | 351 |
if el.text is None: |
352 |
setattr(self, attribute, None) |
|
352 |
if isinstance(getattr(self, attribute), list): |
|
353 |
setattr(self, attribute, []) |
|
354 |
else: |
|
355 |
setattr(self, attribute, None) |
|
353 | 356 |
elif el.text in ('False', 'True'): # bools |
354 | 357 |
setattr(self, attribute, el.text == 'True') |
355 | 358 |
elif type(getattr(self, attribute)) is int: |
356 |
- |