diff --git a/lib/galaxy/tools/parameters/basic.py b/lib/galaxy/tools/parameters/basic.py index 3dfcbcb66b5..41d66422be2 100644 --- a/lib/galaxy/tools/parameters/basic.py +++ b/lib/galaxy/tools/parameters/basic.py @@ -902,7 +902,7 @@ class SelectToolParameter(ToolParameter): return value def to_param_dict_string(self, value, other_values={}): - if value is None: + if value in (None, []): return "None" if isinstance(value, list): if not self.multiple: diff --git a/test/unit/tools/test_wrappers.py b/test/unit/tools/test_wrappers.py index 687ba8a719b..6251a298e28 100644 --- a/test/unit/tools/test_wrappers.py +++ b/test/unit/tools/test_wrappers.py @@ -42,11 +42,31 @@ def test_select_wrapper_simple_options(tool): ''') parameter = SelectToolParameter(tool, xml) wrapper = SelectToolParameterWrapper(parameter, "x") - assert str(wrapper) == "x" assert wrapper.name == "blah" + assert str(wrapper) == "x" assert wrapper.value_label == "I am X" +@with_mock_tool +def test_select_wrapper_multiple_options(tool): + xml = XML(''' + + + + ''') + parameter = SelectToolParameter(tool, xml) + wrapper = SelectToolParameterWrapper(parameter, ["x"]) + assert wrapper.name == "blah" + assert str(wrapper) == "x" + assert "x" in wrapper + wrapper = SelectToolParameterWrapper(parameter, ["x", "z"]) + assert str(wrapper) == "x,z" + assert "x" in wrapper + wrapper = SelectToolParameterWrapper(parameter, []) + assert str(wrapper) == "None" + assert "x" not in wrapper + + @with_mock_tool def test_select_wrapper_with_drilldown(tool): parameter = _drilldown_parameter(tool)