@@ -14,6 +14,42 @@ import kotlin.test.assertEquals
1414 * @author ForteScarlet
1515 */
1616class ConfigurationSerializeTests {
17+ @OptIn(InternalSuspendTransformConfigurationApi ::class )
18+ @Test
19+ fun testDecodeNull () {
20+ assertEquals(
21+ SuspendTransformConfiguration (emptyMap()),
22+ decodeSuspendTransformConfigurationFromHex(" " )
23+ )
24+ }
25+
26+ @OptIn(InternalSuspendTransformConfigurationApi ::class )
27+ @Test
28+ fun testDecodeEmpty () {
29+ val config = SuspendTransformConfiguration (emptyMap())
30+ assertEquals(" " , config.encodeToHex())
31+ }
32+
33+ @OptIn(InternalSuspendTransformConfigurationApi ::class )
34+ @Test
35+ fun testDecodeSingle () {
36+ val config = SuspendTransformConfiguration (
37+ transformers = mapOf (
38+ TargetPlatform .JVM to listOf (jvmBlockingTransformer)
39+ )
40+ )
41+ val hex = config.encodeToHex()
42+ assertEquals(config, decodeSuspendTransformConfigurationFromHex(hex))
43+ }
44+
45+ @OptIn(InternalSuspendTransformConfigurationApi ::class )
46+ @Test
47+ fun testDecodeInvalid () {
48+ kotlin.test.assertFailsWith<IllegalArgumentException > {
49+ decodeSuspendTransformConfigurationFromHex(" invalid-hex" )
50+ }
51+ }
52+
1753 @OptIn(InternalSuspendTransformConfigurationApi ::class )
1854 @Test
1955 fun testDecode () {
@@ -32,46 +68,7 @@ class ConfigurationSerializeTests {
3268 val hex = config.encodeToHex()
3369
3470 assertEquals(
35- " 0aa807080112bd030a680a3c0a296c6f76652e666f7274652e706c7567696e2e" +
36- " 73757370656e647472616e732e616e6e6f746174696f6e120b4a766d426c6f63" +
37- " 6b696e67180020001208626173654e616d651a06737566666978220a61735072" +
38- " 6f70657274792a08426c6f636b696e67300012390a266c6f76652e666f727465" +
39- " 2e706c7567696e2e73757370656e647472616e732e72756e74696d65120f2472" +
40- " 756e496e426c6f636b696e672420002a240a1e0a0a6b6f746c696e2e6a766d12" +
41- " 0c4a766d53796e7468657469631800200010001800323c0a360a296c6f76652e" +
42- " 666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f7461" +
43- " 74696f6e1205417069344a18002000100018013801421e0a0a6b6f746c696e2e" +
44- " 6a766d120c4a766d53796e74686574696318002000423c0a296c6f76652e666f" +
45- " 7274652e706c7567696e2e73757370656e647472616e732e616e6e6f74617469" +
46- " 6f6e120b4a766d426c6f636b696e671800200042390a296c6f76652e666f7274" +
47- " 652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e" +
48- " 12084a766d4173796e631800200042130a066b6f746c696e12054f7074496e18" +
49- " 002000480012e3030a620a390a296c6f76652e666f7274652e706c7567696e2e" +
50- " 73757370656e647472616e732e616e6e6f746174696f6e12084a766d4173796e" +
51- " 63180020001208626173654e616d651a06737566666978220a617350726f7065" +
52- " 7274792a054173796e63300012360a266c6f76652e666f7274652e706c756769" +
53- " 6e2e73757370656e647472616e732e72756e74696d65120c2472756e496e4173" +
54- " 796e63241a2d0a146a6176612e7574696c2e636f6e63757272656e741211436f" +
55- " 6d706c657461626c654675747572651800200020012a240a1e0a0a6b6f746c69" +
56- " 6e2e6a766d120c4a766d53796e7468657469631800200010001800323c0a360a" +
57- " 296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e" +
58- " 616e6e6f746174696f6e1205417069344a18002000100018013801421e0a0a6b" +
59- " 6f746c696e2e6a766d120c4a766d53796e74686574696318002000423c0a296c" +
60- " 6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e" +
61- " 6e6f746174696f6e120b4a766d426c6f636b696e671800200042390a296c6f76" +
62- " 652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f" +
63- " 746174696f6e12084a766d4173796e631800200042130a066b6f746c696e1205" +
64- " 4f7074496e1800200048000ad202080212cd020a630a3a0a296c6f76652e666f" +
65- " 7274652e706c7567696e2e73757370656e647472616e732e616e6e6f74617469" +
66- " 6f6e12094a7350726f6d697365180020001208626173654e616d651a06737566" +
67- " 666978220a617350726f70657274792a054173796e63300012360a266c6f7665" +
68- " 2e666f7274652e706c7567696e2e73757370656e647472616e732e72756e7469" +
69- " 6d65120c2472756e496e4173796e63241a180a096b6f746c696e2e6a73120750" +
70- " 726f6d697365180020002001323d0a370a296c6f76652e666f7274652e706c75" +
71- " 67696e2e73757370656e647472616e732e616e6e6f746174696f6e1206417069" +
72- " 344a7318002000100018013801423a0a296c6f76652e666f7274652e706c7567" +
73- " 696e2e73757370656e647472616e732e616e6e6f746174696f6e12094a735072" +
74- " 6f6d6973651800200042130a066b6f746c696e12054f7074496e180020004800" ,
71+ "0aba0808011286040a95010a3c0a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e120b4a766d426c6f636b696e67180020001208626173654e616d651a06737566666978220a617350726f70657274792a08426c6f636b696e6730003a2b0a086d61726b4e616d6512190a0a6b6f746c696e2e6a766d12074a766d4e616d65180020001a046e616d6512390a266c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e72756e74696d65120f2472756e496e426c6f636b696e672420002a240a1e0a0a6b6f746c696e2e6a766d120c4a766d53796e7468657469631800200010001800323c0a360a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e1205417069344a18002000100018013801421e0a0a6b6f746c696e2e6a766d120c4a766d53796e74686574696318002000423c0a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e120b4a766d426c6f636b696e671800200042390a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e12084a766d4173796e631800200042130a066b6f746c696e12054f7074496e1800200042190a0a6b6f746c696e2e6a766d12074a766d4e616d6518002000480012ac040a8f010a390a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e12084a766d4173796e63180020001208626173654e616d651a06737566666978220a617350726f70657274792a054173796e6330003a2b0a086d61726b4e616d6512190a0a6b6f746c696e2e6a766d12074a766d4e616d65180020001a046e616d6512360a266c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e72756e74696d65120c2472756e496e4173796e63241a2d0a146a6176612e7574696c2e636f6e63757272656e741211436f6d706c657461626c654675747572651800200020012a240a1e0a0a6b6f746c696e2e6a766d120c4a766d53796e7468657469631800200010001800323c0a360a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e1205417069344a18002000100018013801421e0a0a6b6f746c696e2e6a766d120c4a766d53796e74686574696318002000423c0a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e120b4a766d426c6f636b696e671800200042390a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e12084a766d4173796e631800200042130a066b6f746c696e12054f7074496e1800200042190a0a6b6f746c696e2e6a766d12074a766d4e616d651800200048000a970308021292030a8e010a3a0a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e12094a7350726f6d697365180020001208626173654e616d651a06737566666978220a617350726f70657274792a054173796e6330003a290a086d61726b4e616d6512170a096b6f746c696e2e6a7312064a734e616d65180020001a046e616d6512360a266c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e72756e74696d65120c2472756e496e4173796e63241a180a096b6f746c696e2e6a73120750726f6d697365180020002001323d0a370a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e1206417069344a7318002000100018013801423a0a296c6f76652e666f7274652e706c7567696e2e73757370656e647472616e732e616e6e6f746174696f6e12094a7350726f6d6973651800200042130a066b6f746c696e12054f7074496e1800200042170a096b6f746c696e2e6a7312064a734e616d65180020004800",
7572 hex
7673 )
7774
0 commit comments