Fix IFCTester handling of falsey properties

This commit is contained in:
Dion Moult
2022-08-11 16:37:46 +10:00
parent a5b1a96dfd
commit 7867c71b6e
4 changed files with 10 additions and 3 deletions
+3
View File
@@ -0,0 +1,3 @@
.PHONY: test
test:
pytest -p no:pytest-blender test
+1 -1
View File
@@ -366,7 +366,7 @@ class Property(Facet):
props[pset_name] = {}
if isinstance(self.name, str):
prop = pset_props.get(self.name)
if prop:
if prop is not None and prop != "":
props[pset_name][self.name] = prop
else:
props[pset_name] = {k: v for k, v in pset_props.items() if k == self.name}
+4
View File
@@ -840,6 +840,10 @@ class TestProperty:
run("", facet=facet, inst=element, expected=False)
ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"})
run("", facet=facet, inst=element, expected=True)
ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcBoolean(True)})
run("", facet=facet, inst=element, expected=True)
ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": False})
run("", facet=facet, inst=element, expected=True)
# A simple value checks an exact case-sensitive match
facet = Property(propertySet="Foo_Bar", name="Foo", value="Bar")
+2 -2
View File
@@ -460,8 +460,8 @@ class IDSFacet extends HTMLElement {
var name = this.idsElement.getElementsByTagNameNS(ns, 'name')[0];
var value = this.getIdsValue(name);
if (value.type == 'simpleValue') {
var content = this.capitalise(value.content.toLowerCase().replace('ifc', ''))
if (value.type == 'simpleValue' || value.type == 'enumeration') {
var content = this.capitalise(value.content.toLowerCase().replaceAll('ifc', ''))
parameters.name = '<ids-param filter="entityName">' + content + '</ids-param>';
this.params.push(value.param);
}