diff --git a/crates/aiken-lang/src/tests/format.rs b/crates/aiken-lang/src/tests/format.rs index 2c43ba43..0c4c1c65 100644 --- a/crates/aiken-lang/src/tests/format.rs +++ b/crates/aiken-lang/src/tests/format.rs @@ -1449,3 +1449,26 @@ fn capture_right_hand_side_assign() { "# ); } + +#[test] +fn types_as_namespace() { + assert_format!( + r#" + use foo.{ Foo } + + fn predicate(val) { + when val is { + Foo.I(n) -> n >= 14 + foo.Foo.B(bytes) -> bytes == "aiken" + } + } + + test my_test() { + and { + predicate(foo.Foo.I(42)), + predicate(Foo.b("aiken")) + } + } + "# + ); +} diff --git a/crates/aiken-lang/src/tests/snapshots/types_as_namespace.snap b/crates/aiken-lang/src/tests/snapshots/types_as_namespace.snap new file mode 100644 index 00000000..9f8d6559 --- /dev/null +++ b/crates/aiken-lang/src/tests/snapshots/types_as_namespace.snap @@ -0,0 +1,19 @@ +--- +source: crates/aiken-lang/src/tests/format.rs +description: "Code:\n\nuse foo.{ Foo }\n\nfn predicate(val) {\n when val is {\n Foo.I(n) -> n >= 14\n foo.Foo.B(bytes) -> bytes == \"aiken\"\n }\n}\n\ntest my_test() {\n and {\n predicate(foo.Foo.I(42)),\n predicate(Foo.b(\"aiken\"))\n }\n}\n" +--- +use foo.{Foo} + +fn predicate(val) { + when val is { + Foo.I(n) -> n >= 14 + foo.Foo.B(bytes) -> bytes == "aiken" + } +} + +test my_test() { + and { + predicate(foo.Foo.I(42)), + predicate(Foo.b("aiken")), + } +}