-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_encoding_fix.py
More file actions
74 lines (63 loc) · 2.3 KB
/
Copy pathtest_encoding_fix.py
File metadata and controls
74 lines (63 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env python3
"""
Test de la correction du patch d'encodage
"""
print("=== Test de la correction d'encodage ===")
try:
# Import du client IRC qui applique le patch corrigé
from irc_client import IRCClient
print("✅ Import irc_client réussi - nouveau patch appliqué")
# Configuration de test
test_config = {
'irc': {
'servers': [{'hostname': 'test.server', 'port': 6667, 'ssl': False}],
'nickname': 'TestBot',
'realname': 'Test Bot',
'channels': ['#test'],
'monitored_channel': '#test',
'redirect_channel': '#adultes',
'is_ircop': False
},
'badwords_filter': {
'enabled': True,
'channels': ['#test'],
'immediate_ban': True,
'send_warning_message': True,
'log_detections': False
},
'nickname_filter': {
'enabled': True,
'channels': ['#test'],
'send_messages': True,
'log_detections': False
}
}
# Test de création du client
print("\n🧪 Test de création du client IRC...")
client = IRCClient(test_config, None)
print("✅ Client IRC créé sans erreur de super()")
# Vérifier que le patch a été appliqué
import jaraco.stream.buffer
import irc.client
# Test de création d'un DecodingLineBuffer
print("\n🔧 Test de DecodingLineBuffer...")
try:
import io
test_buffer = io.BytesIO(b"test\n")
decoder = jaraco.stream.buffer.DecodingLineBuffer(test_buffer)
print("✅ DecodingLineBuffer créé sans erreur")
# Test avec des données UTF-8 valides
list(decoder.lines())
print("✅ Décodage UTF-8 valide fonctionne")
except Exception as e:
print(f"❌ Erreur DecodingLineBuffer: {e}")
# Test des filtres
print(f"\n📊 Vérification des filtres:")
print(f" 🔍 Mots interdits: {len(client.badwords_filter.badwords)} patterns")
print(f" 👤 Pseudos: {len(client.nickname_filter.inappropriate_patterns)} patterns")
print("\n🎉 Test de correction réussi - pas d'erreur super() !")
except Exception as e:
print(f"❌ Erreur: {e}")
import traceback
traceback.print_exc()
exit(1)