From b61ffd36844d2bc3da089a41bd01c3ca0536911a Mon Sep 17 00:00:00 2001 From: Ayaz Hafiz Date: Tue, 12 Jul 2022 13:36:54 -0400 Subject: [PATCH] Add more test gen for derived impls --- crates/compiler/test_gen/src/gen_abilities.rs | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/crates/compiler/test_gen/src/gen_abilities.rs b/crates/compiler/test_gen/src/gen_abilities.rs index cd1237d85e..cfa606a908 100644 --- a/crates/compiler/test_gen/src/gen_abilities.rs +++ b/crates/compiler/test_gen/src/gen_abilities.rs @@ -447,3 +447,50 @@ fn encode_derived_record_one_field_string() { RocStr ) } + +#[test] +#[cfg(any(feature = "gen-llvm"))] +fn encode_derived_record_two_fields_strings() { + assert_evals_to!( + indoc!( + r#" + app "test" + imports [Encode.{ toEncoder }, Json] + provides [main] to "./platform" + + main = + rcd = {a: "foo", b: "bar"} + result = Str.fromUtf8 (Encode.toBytes rcd Json.format) + when result is + Ok s -> s + _ -> "" + "# + ), + RocStr::from(r#"{"a":"foo","b":"bar",}"#), + RocStr + ) +} + +#[test] +#[cfg(any(feature = "gen-llvm"))] +fn encode_derived_nested_record_string() { + assert_evals_to!( + indoc!( + r#" + app "test" + imports [Encode.{ toEncoder }, Json] + provides [main] to "./platform" + + main = + rcd = {a: {b: "bar"}} + encoded = Encode.toBytes rcd Json.format + result = Str.fromUtf8 encoded + when result is + Ok s -> s + _ -> "" + "# + ), + RocStr::from(r#"{"a":{"b":"bar",},}"#), + RocStr + ) +}