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)