28 lines
742 B
OCaml
28 lines
742 B
OCaml
open Stdune
|
|
|
|
let%expect_test "#7905 - inverted char offsets" =
|
|
let dir = Temp.create Dir ~prefix:"" ~suffix:"loc" in
|
|
let file = Path.relative dir "file.ml" in
|
|
Io.write_file
|
|
file
|
|
{|
|
|
type t = A | B
|
|
|
|
let f () () = function
|
|
| A -> ()
|
|
|};
|
|
let pos_fname = Path.to_string file in
|
|
let start = { Lexing.pos_fname; pos_lnum = 4; pos_bol = 0; pos_cnum = 14 } in
|
|
let stop = { start with pos_lnum = 5; pos_cnum = 11 } in
|
|
let loc = Loc.create ~start ~stop in
|
|
Format.printf "%a@." Pp.to_fmt (Loc.pp loc);
|
|
let output =
|
|
[%expect.output] |> String.split_lines |> List.tl |> String.concat ~sep:"\n"
|
|
in
|
|
Temp.destroy Dir file;
|
|
print_endline output;
|
|
[%expect
|
|
{|
|
|
4 | let f () () = function
|
|
5 | | A -> () |}]
|
|
;;
|