Add Encode.custom captures test

This commit is contained in:
Ayaz Hafiz 2022-06-24 12:21:51 -04:00
parent 445d922f3b
commit 6f9b3553e4
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58

View file

@ -375,3 +375,31 @@ fn encode_use_stdlib_without_wrapping_custom() {
RocStr
)
}
#[test]
#[cfg(any(feature = "gen-llvm"))]
fn to_encoder_encode_custom_has_capture() {
assert_evals_to!(
indoc!(
r#"
app "test"
imports [Encode.{ toEncoder }, Json]
provides [main] to "./platform"
HelloWorld := Str
toEncoder = \@HelloWorld s1 ->
Encode.custom \bytes, fmt ->
bytes
|> Encode.appendWith (Encode.string s1) fmt
main =
result = Str.fromUtf8 (Encode.toBytes (@HelloWorld "Hello, World!\n") Json.format)
when result is
Ok s -> s
_ -> "<bad>"
"#
),
RocStr::from("\"Hello, World!\n\""),
RocStr
)
}