Skip to content

Commit e6e0889

Browse files
authored
base/test_unique.py: regression test for bad unicode string (pandas-dev#34851)
closes pandas-dev#34550
1 parent c9144ca commit e6e0889

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

pandas/tests/base/test_unique.py

+16
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,19 @@ def test_nunique_null(null_obj, index_or_series_obj):
105105
num_unique_values = len(obj.unique())
106106
assert obj.nunique() == max(0, num_unique_values - 1)
107107
assert obj.nunique(dropna=False) == max(0, num_unique_values)
108+
109+
110+
@pytest.mark.parametrize(
111+
"idx_or_series_w_bad_unicode", [pd.Index(["\ud83d"] * 2), pd.Series(["\ud83d"] * 2)]
112+
)
113+
def test_unique_bad_unicode(idx_or_series_w_bad_unicode):
114+
# regression test for #34550
115+
obj = idx_or_series_w_bad_unicode
116+
result = obj.unique()
117+
118+
if isinstance(obj, pd.Index):
119+
expected = pd.Index(["\ud83d"], dtype=object)
120+
tm.assert_index_equal(result, expected)
121+
else:
122+
expected = np.array(["\ud83d"], dtype=object)
123+
tm.assert_numpy_array_equal(result, expected)

0 commit comments

Comments
 (0)