Skip to content

Commit 49952d3

Browse files
committed
Add additional configuration decoding tests
1 parent 566d9c7 commit 49952d3

File tree

2 files changed

+37
-45
lines changed

2 files changed

+37
-45
lines changed

compiler/suspend-transform-plugin-cli/src/test/kotlin/love/forte/plugin/suspendtrans/cli/ConfigurationSerializeTests.kt

Lines changed: 37 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,42 @@ import kotlin.test.assertEquals
1414
* @author ForteScarlet
1515
*/
1616
class 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

kotlin-js-store/yarn.lock

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1758,11 +1758,6 @@ type-is@~1.6.18:
17581758
media-typer "0.3.0"
17591759
mime-types "~2.1.24"
17601760

1761-
typescript@5.5.4:
1762-
version "5.5.4"
1763-
resolved "https://registry.npmmirror.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba"
1764-
integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==
1765-
17661761
ua-parser-js@^0.7.30:
17671762
version "0.7.37"
17681763
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.37.tgz#e464e66dac2d33a7a1251d7d7a99d6157ec27832"

0 commit comments

Comments
 (0)