This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
31
unikernel/duniverse/dune_/test/expect-tests/module_tests.ml
Normal file
31
unikernel/duniverse/dune_/test/expect-tests/module_tests.ml
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
open Stdune
|
||||
module Kind = Dune_rules.Module.Kind
|
||||
|
||||
(* See #10264 *)
|
||||
let%expect_test "Module.Kind encoding round trip" =
|
||||
let module_name s = Dune_rules.Module_name.of_string s in
|
||||
let test k =
|
||||
let ast = Kind.encode k in
|
||||
let sexp = Dune_sexp.Ast.add_loc ~loc:Loc.none ast in
|
||||
let decoded =
|
||||
match Dune_lang.Decoder.parse Kind.decode Univ_map.empty sexp with
|
||||
| r -> Ok r
|
||||
| exception e -> Error e
|
||||
in
|
||||
let dyn =
|
||||
Dyn.record
|
||||
[ "ast", Dyn.string (Dune_sexp.to_string ast)
|
||||
; "decoded", Or_exn.to_dyn Kind.to_dyn decoded
|
||||
]
|
||||
in
|
||||
Dune_tests_common.print_dyn dyn
|
||||
in
|
||||
test Impl;
|
||||
[%expect {| { ast = "impl"; decoded = Ok "impl" } |}];
|
||||
test (Alias []);
|
||||
[%expect {| { ast = "alias"; decoded = Ok "alias" } |}];
|
||||
test (Alias [ module_name "A" ]);
|
||||
[%expect {| { ast = "(alias (A))"; decoded = Ok [ "alias"; [ "A" ] ] } |}];
|
||||
test (Alias [ module_name "A"; module_name "B" ]);
|
||||
[%expect {| { ast = "(alias (A B))"; decoded = Ok [ "alias"; [ "A"; "B" ] ] } |}]
|
||||
;;
|
||||
Loading…
Add table
Add a link
Reference in a new issue