diff --git a/src/ifctester/Makefile b/src/ifctester/Makefile new file mode 100644 index 0000000000..f1c493c390 --- /dev/null +++ b/src/ifctester/Makefile @@ -0,0 +1,3 @@ +.PHONY: test +test: + pytest -p no:pytest-blender test diff --git a/src/ifctester/ifctester/facet.py b/src/ifctester/ifctester/facet.py index 9b3187ab39..05cf1a7653 100644 --- a/src/ifctester/ifctester/facet.py +++ b/src/ifctester/ifctester/facet.py @@ -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} diff --git a/src/ifctester/test/test_facet.py b/src/ifctester/test/test_facet.py index 9f0c7c582e..ad11329e46 100644 --- a/src/ifctester/test/test_facet.py +++ b/src/ifctester/test/test_facet.py @@ -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") diff --git a/src/ifctester/webapp/www/app.js b/src/ifctester/webapp/www/app.js index 9514820818..895a517108 100644 --- a/src/ifctester/webapp/www/app.js +++ b/src/ifctester/webapp/www/app.js @@ -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 = '' + content + ''; this.params.push(value.param); }