Unverified Commit c45103e6 authored by Marius van den Beek's avatar Marius van den Beek Committed by GitHub
Browse files

Merge pull request #9144 from nsoranzo/release_19.05_followup_on_9067

[19.05] Restore returning "None" when casting unselected multiselect param to str
parents d2da80e2 21cb3d9d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -903,7 +903,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:
+21 −1
Original line number Diff line number Diff line
@@ -42,11 +42,31 @@ def test_select_wrapper_simple_options(tool):
    </param>''')
    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('''<param name="blah" type="select" multiple="true">
        <option value="x">I am X</option>
        <option value="y" selected="true">I am Y</option>
        <option value="z">I am Z</option>
    </param>''')
    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)