mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-24 02:04:04 +08:00
Merge branch 'release_20.01' into dev
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user