Merge branch 'release_20.01' into dev

This commit is contained in:
Nicola Soranzo
2020-01-24 17:13:06 +00:00
3 changed files with 24 additions and 15 deletions
+3
View File
@@ -170,6 +170,9 @@ class SelectToolParameterWrapper(ToolParameterValueWrapper):
def __eq__(self, other):
if isinstance(other, string_types):
if other == '' and self.value in (None, []):
# Allow $wrapper == '' for select (self.value is None) and multiple select (self.value is []) params
return True
return str(self) == other
else:
return super(SelectToolParameterWrapper, self) == other
@@ -103,7 +103,7 @@ into a workflow will be shown in gray.</p>
<th style="width: 47.5%">${_('History items created')}</th>
</tr>
%for job, datasets in jobs.iteritems():
%for job, datasets in jobs.items():
<%
cls = "toolForm"
+20 -14
View File
@@ -33,37 +33,43 @@ def with_mock_tool(func):
return call
@with_mock_tool
def test_select_wrapper_simple_options(tool):
xml = XML('''<param name="blah" type="select">
def selectwrapper(tool, value, multiple=False, optional=False):
optional = 'optional="true"' if optional else ''
multiple = 'multiple="true"' if multiple else ''
xml = XML('''<param name="blah" type="select" %s %s>
<option value="x">I am X</option>
<option value="y" selected="true">I am Y</option>
<option value="z">I am Z</option>
</param>''')
</param>''' % (multiple, optional))
parameter = SelectToolParameter(tool, xml)
wrapper = SelectToolParameterWrapper(parameter, "x")
return SelectToolParameterWrapper(parameter, value)
@with_mock_tool
def test_select_wrapper_simple_options(tool):
wrapper = selectwrapper(tool, "x")
assert wrapper.name == "blah"
assert str(wrapper) == "x"
assert wrapper.value_label == "I am X"
wrapper = selectwrapper(tool, None, optional=True)
assert str(wrapper) == "None"
assert wrapper == ""
assert wrapper == "None"
@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"])
wrapper = selectwrapper(tool, ["x"], multiple=True)
assert wrapper.name == "blah"
assert str(wrapper) == "x"
assert "x" in wrapper
wrapper = SelectToolParameterWrapper(parameter, ["x", "z"])
wrapper = selectwrapper(tool, ["x", "z"], multiple=True)
assert str(wrapper) == "x,z"
assert "x" in wrapper
wrapper = SelectToolParameterWrapper(parameter, [])
wrapper = selectwrapper(tool, [], multiple=True)
assert str(wrapper) == "None"
assert wrapper == ""
assert wrapper == "None"
assert "x" not in wrapper