Skip to content

Commit b2e2a01

Browse files
BMarchihidmic
authored andcommitted
Maintain order of parameters regarding name and from (#99)
Signed-off-by: Brian Ezequiel Marchi <[email protected]>
1 parent 4662df0 commit b2e2a01

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

launch_ros/launch_ros/actions/node.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,6 @@ def normalize_scalar_value(value):
208208
return param_dict
209209

210210
normalized_params = []
211-
params_without_from = []
212211
for param in params:
213212
from_attr = param.get_attr('from', optional=True)
214213
name = param.get_attr('name', optional=True)
@@ -221,11 +220,10 @@ def normalize_scalar_value(value):
221220
normalized_params.append(parser.parse_substitution(from_attr))
222221
continue
223222
elif name is not None:
224-
params_without_from.append(param)
223+
normalized_params.append(
224+
get_nested_dictionary_from_nested_key_value_pairs([param]))
225225
continue
226226
raise ValueError('param Entity should have name or from attribute')
227-
normalized_params.append(
228-
get_nested_dictionary_from_nested_key_value_pairs(params_without_from))
229227
return normalized_params
230228

231229
@classmethod

test_launch_ros/test/test_launch_ros/frontend/test_node_frontend.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,14 @@ def test_node_frontend(file):
132132
ls.context,
133133
ld.describe_sub_entities()[2]._Node__parameters
134134
)
135-
assert isinstance(evaluated_parameters[0], pathlib.Path)
135+
assert isinstance(evaluated_parameters[0], dict)
136136
assert isinstance(evaluated_parameters[1], dict)
137+
assert isinstance(evaluated_parameters[2], pathlib.Path)
138+
139+
assert 'param1' in evaluated_parameters[0]
140+
assert evaluated_parameters[0]['param1'] == 'ads'
141+
137142
param_dict = evaluated_parameters[1]
138-
assert 'param1' in param_dict
139-
assert param_dict['param1'] == 'ads'
140143
assert 'param_group1.param_group2.param2' in param_dict
141144
assert 'param_group1.param3' in param_dict
142145
assert 'param_group1.param4' in param_dict

0 commit comments

Comments
 (0)