Files
VPSMaster/tests/test_ip_panel.py

23 lines
933 B
Python

import re
import unicodedata
from proxydoctor.console import Console
from proxydoctor import ipquality
def test_panel_wraps_cjk_and_strips_control_characters(capsys):
Console('zh','never').panel('概览',[('地区','陕西省'*40+'\x1b[31m','unknown')],width=50)
lines=capsys.readouterr().out.splitlines()
assert '\x1b' not in '\n'.join(lines)
for line in lines:
assert sum(2 if unicodedata.east_asian_width(ch) in ('W','F') else 0 if unicodedata.combining(ch) else 1 for ch in line)==50
def test_ip_panel_keeps_missing_risk_unknown_and_hides_ip(monkeypatch,capsys):
monkeypatch.setattr(ipquality,'request_json',lambda *args,**kwargs:({'ip':'8.8.8.8'},'ok'))
result=ipquality.collect(enrich=False)
ipquality.render(result,Console('zh','never'))
output=capsys.readouterr().out
assert 'IP 质量概览' in output
assert '8.8.8.8' not in output
assert '不代表安全' in output