Skip to content

Commit 5e04cce

Browse files
OpenHTF Ownerscopybara-github
authored andcommitted
Internal change
PiperOrigin-RevId: 542925313
1 parent 5f11f03 commit 5e04cce

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

openhtf/core/phase_descriptor.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,10 @@ def __call__(self, phase_func: PhaseT) -> 'PhaseDescriptor':
158158
phase.options.repeat_limit = self.repeat_limit
159159
if self.run_under_pdb:
160160
phase.options.run_under_pdb = self.run_under_pdb
161-
if self.phase_name_case == PhaseNameCase.CAMEL:
162-
name = phase.name if phase.options.name is None else phase.options.name
163-
phase.options.name = inflection.camelize(name)
164161
if self.stop_on_measurement_fail:
165162
phase.options.stop_on_measurement_fail = self.stop_on_measurement_fail
163+
if self.phase_name_case:
164+
phase.options.phase_name_case = self.phase_name_case
166165
return phase
167166

168167

@@ -233,8 +232,12 @@ def _asdict(self) -> Dict[Text, Any]:
233232
@property
234233
def name(self) -> Text:
235234
if self.options.name and isinstance(self.options.name, str):
236-
return self.options.name
237-
return self.func.__name__
235+
name = self.options.name
236+
else:
237+
name = self.func.__name__
238+
if self.options.phase_name_case == PhaseNameCase.CAMEL:
239+
name = inflection.camelize(name)
240+
return name
238241

239242
@property
240243
def doc(self) -> Optional[Text]:

test/phase_descriptor_test.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,17 @@ def snake_cased_phase():
303303

304304
self.assertEqual(snake_cased_phase.name, 'SnakeCasedPhase')
305305

306+
def test_camel_phase_name_casing_formats_templated_name(self):
307+
@phase_descriptor.PhaseOptions(
308+
name='{snake}_cased_phase', phase_name_case=openhtf.PhaseNameCase.CAMEL
309+
)
310+
def snake_cased_phase():
311+
"""Empty function to generate phase descriptor."""
312+
313+
self.assertEqual(
314+
snake_cased_phase.with_args(snake='snake').name, 'SnakeCasedPhase'
315+
)
316+
306317
def test_keep_phase_name_casing_does_not_change_name(self):
307318

308319
@phase_descriptor.PhaseOptions(phase_name_case=openhtf.PhaseNameCase.KEEP)

0 commit comments

Comments
 (0)