forked from TDesktop-x64/tdesktop
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcheck_syntax.sh
More file actions
executable file
·124 lines (101 loc) · 4.47 KB
/
check_syntax.sh
File metadata and controls
executable file
·124 lines (101 loc) · 4.47 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#!/bin/bash
echo "======================================"
echo "CRYPTOGRAM - Syntax & API Validation"
echo "======================================"
echo ""
# Test Java/Kotlin syntax issues
echo "TEST 6: Import & Package Validation"
echo "-------------------------------------"
# Check Kotlin files have correct package
for file in TMessagesProj/src/main/java/org/telegram/messenger/cryptogram/*.kt; do
if grep -q "package org.telegram.messenger.cryptogram" "$file"; then
echo "✅ $(basename $file): Correct package"
else
echo "❌ $(basename $file): Wrong package"
fi
done
# Check Java helpers
if grep -q "package org.telegram.messenger.cryptogram" TMessagesProj/src/main/java/org/telegram/messenger/cryptogram/CryptogramMessageHelper.java; then
echo "✅ CryptogramMessageHelper.java: Correct package"
else
echo "❌ CryptogramMessageHelper.java: Wrong package"
fi
if grep -q "package org.telegram.ui" TMessagesProj/src/main/java/org/telegram/ui/CryptogramSettingsActivity.java; then
echo "✅ CryptogramSettingsActivity.java: Correct package"
else
echo "❌ CryptogramSettingsActivity.java: Wrong package"
fi
echo ""
# Test API consistency
echo "TEST 7: API Method Consistency"
echo "-------------------------------------"
# Check DoubleRatchet.kt has all methods
methods=("initializeSession" "encrypt" "decrypt" "hasSession" "getState")
for method in "${methods[@]}"; do
if grep -q "fun $method" TMessagesProj/src/main/java/org/telegram/messenger/cryptogram/DoubleRatchet.kt; then
echo "✅ DoubleRatchet.$method() exists"
else
echo "❌ DoubleRatchet.$method() missing"
fi
done
# Check MLSProtocol.kt has all methods
mls_methods=("createGroup" "encryptGroupMessage" "decryptGroupMessage" "addMember" "removeMember")
for method in "${mls_methods[@]}"; do
if grep -q "fun $method" TMessagesProj/src/main/java/org/telegram/messenger/cryptogram/MLSProtocol.kt; then
echo "✅ MLSProtocol.$method() exists"
else
echo "❌ MLSProtocol.$method() missing"
fi
done
echo ""
# Test Message Helper
echo "TEST 8: Message Flow Validation"
echo "-------------------------------------"
# Check encryption/decryption methods
if grep -q "public static String encryptOutgoingMessage" TMessagesProj/src/main/java/org/telegram/messenger/cryptogram/CryptogramMessageHelper.java; then
echo "✅ CryptogramMessageHelper.encryptOutgoingMessage() exists"
else
echo "❌ CryptogramMessageHelper.encryptOutgoingMessage() missing"
fi
if grep -q "public static String decryptIncomingMessage" TMessagesProj/src/main/java/org/telegram/messenger/cryptogram/CryptogramMessageHelper.java; then
echo "✅ CryptogramMessageHelper.decryptIncomingMessage() exists"
else
echo "❌ CryptogramMessageHelper.decryptIncomingMessage() missing"
fi
if grep -q "public static boolean isEncryptedMessage" TMessagesProj/src/main/java/org/telegram/messenger/cryptogram/CryptogramMessageHelper.java; then
echo "✅ CryptogramMessageHelper.isEncryptedMessage() exists"
else
echo "❌ CryptogramMessageHelper.isEncryptedMessage() missing"
fi
echo ""
# Test Settings Integration
echo "TEST 9: Settings Storage Validation"
echo "-------------------------------------"
if grep -q "public static void toggleCryptogramDoubleRatchet()" TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java; then
echo "✅ SharedConfig.toggleCryptogramDoubleRatchet() exists"
else
echo "❌ SharedConfig.toggleCryptogramDoubleRatchet() missing"
fi
if grep -q "public static void toggleCryptogramMLS()" TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java; then
echo "✅ SharedConfig.toggleCryptogramMLS() exists"
else
echo "❌ SharedConfig.toggleCryptogramMLS() missing"
fi
echo ""
# Test UI Components
echo "TEST 10: UI Component Validation"
echo "-------------------------------------"
if grep -q "class CryptogramSettingsActivity extends BaseFragment" TMessagesProj/src/main/java/org/telegram/ui/CryptogramSettingsActivity.java; then
echo "✅ CryptogramSettingsActivity extends BaseFragment"
else
echo "❌ CryptogramSettingsActivity does not extend BaseFragment"
fi
if grep -q "class CryptogramIndicator" TMessagesProj/src/main/java/org/telegram/ui/Components/CryptogramIndicator.java; then
echo "✅ CryptogramIndicator class exists"
else
echo "❌ CryptogramIndicator class missing"
fi
echo ""
echo "======================================"
echo "Syntax & API Validation Complete"
echo "======================================"