def test_unicode_range(): """ Test that the ranges we test for unicode names give the same number of results than testing the full length. """ from IPython.core.completer import _unicode_name_compute, _UNICODE_RANGES expected_list = _unicode_name_compute([(0, 0x110000)]) test = _unicode_name_compute(_UNICODE_RANGES) len_exp = len(expected_list) len_test = len(test) # do not inline the len() or on error pytest will try to print the 130 000 + # elements. message = None if len_exp != len_test or len_exp > 131808: size, start, stop, prct = recompute_unicode_ranges() message = f"""_UNICODE_RANGES likely wrong and need updating. This is likely due to a new release of Python. We've find that the biggest gap in unicode characters has reduces in size to be {size} characters ({prct}), from {start}, to {stop}. In completer.py likely update to _UNICODE_RANGES = [(32, {start}), ({stop}, 0xe01f0)] And update the assertion below to use len_exp <= {len_exp} """ assert len_exp == len_test, message # fail if new unicode symbols have been added. assert len_exp <= 138552, message
def test_unicode_range(): """ Test that the ranges we test for unicode names give the same number of results than testing the full length. """ from IPython.core.completer import _unicode_name_compute, _UNICODE_RANGES expected_list = _unicode_name_compute([(0, 0x110000)]) test = _unicode_name_compute(_UNICODE_RANGES) len_exp = len(expected_list) len_test = len(test) # do not inline the len() or on error pytest will try to print the 130 000 + # elements. assert len_exp == len_test # fail if new unicode symbols have been added. assert len_exp <= 131808