Skip to content

Commit ecfb1cd

Browse files
committed
Address review comments.
1 parent e06ed32 commit ecfb1cd

File tree

2 files changed

+42
-8
lines changed

2 files changed

+42
-8
lines changed

src/appui/quote_column_definitions.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,12 @@ def __init__(
7474
"""
7575

7676
primary = value if case_sensitive else value.lower()
77-
if secondary_key:
78-
sort_key = (
79-
primary,
80-
secondary_key if case_sensitive else secondary_key.lower(),
81-
)
82-
else:
83-
sort_key = (primary,)
77+
secondary = (
78+
(secondary_key if case_sensitive else secondary_key.lower())
79+
if secondary_key
80+
else None
81+
)
82+
sort_key = (primary, secondary) if secondary else (primary,)
8483
super().__init__(sort_key, value, justification, style)
8584

8685

tests/appui/test_formatting.py

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ def test_as_compact_int(input_value: int, expected_output: str) -> None:
6767
"""Verify compact integer formatting with magnitude-based suffixes (K, M, B, T)."""
6868

6969
assert fmt.as_compact(input_value) == expected_output
70-
assert fmt.as_compact(input_value) == expected_output
7170

7271

7372
@pytest.mark.parametrize(
@@ -126,6 +125,42 @@ def test_as_enum(input_value: QuoteType | None, expected_output: str) -> None:
126125
assert fmt.as_enum(input_value) == expected_output
127126

128127

128+
@pytest.mark.parametrize(
129+
("input_value", "expected_output"),
130+
[
131+
pytest.param(
132+
"multiple___underscores",
133+
"Multiple Underscores",
134+
id="multiple-underscores",
135+
),
136+
pytest.param(
137+
"__leading_trailing__",
138+
"Leading Trailing",
139+
id="leading-trailing-underscores",
140+
),
141+
pytest.param(
142+
"Already Title Cased",
143+
"Already Title Cased",
144+
id="already-title-cased",
145+
),
146+
pytest.param(
147+
"already_title_cased",
148+
"Already Title Cased",
149+
id="underscore-title-cased",
150+
),
151+
pytest.param(
152+
"mixed__CAPS__and__case",
153+
"Mixed Caps And Case",
154+
id="mixed-case",
155+
),
156+
],
157+
)
158+
def test_as_title_case(input_value: str, expected_output: str) -> None:
159+
"""Verify title casing collapses underscores and normalizes capitalization."""
160+
161+
assert fmt._as_title_case(input_value) == expected_output
162+
163+
129164
@pytest.mark.parametrize(
130165
("input_value", "expected_output"),
131166
[

0 commit comments

Comments
 (0)