Sharp.Augeas/Sharp.Augeas.Test/lens/tests/test_csv.aug

92 lines
1.6 KiB
Plaintext
Raw Normal View History

2022-11-08 20:57:02 +03:00
module Test_CSV =
(* Test: CSV.lns
Simple test *)
test CSV.lns get "a,b,c\n" =
{ "1"
{ "1" = "a" }
{ "2" = "b" }
{ "3" = "c" } }
(* Test: CSV.lns
Values with spaces *)
test CSV.lns get "a,b c,d\n" =
{ "1"
{ "1" = "a" }
{ "2" = "b c" }
{ "3" = "d" } }
(* Test: CSV.lns
Quoted values *)
test CSV.lns get "a,\"b,c\",d
# comment
#
e,f,with space\n" =
{ "1"
{ "1" = "a" }
{ "2" = "\"b,c\"" }
{ "3" = "d" } }
{ "#comment" = "comment" }
{ }
{ "2"
{ "1" = "e" }
{ "2" = "f" }
{ "3" = "with space" } }
(* Test: CSV.lns
Empty values *)
test CSV.lns get ",
,,\n" =
{ "1"
{ "1" = "" }
{ "2" = "" } }
{ "2"
{ "1" = "" }
{ "2" = "" }
{ "3" = "" } }
(* Test: CSV.lns
Trailing spaces *)
test CSV.lns get "a , b
\n" =
{ "1"
{ "1" = "a " }
{ "2" = " b " } }
{ "2"
{ "1" = " " } }
(* Test: CSV.lns
Quoted values in quoted values *)
test CSV.lns get "\"a,b\"\"c d\"\"\"\n" =
{ "1" { "1" = "\"a,b\"\"c d\"\"\"" } }
(* Test: CSV.lns
Quote in quoted values *)
test CSV.lns get "\"a,b\"\"c d\"\n" =
{ "1" { "1" = "\"a,b\"\"c d\"" } }
(* Test: CSV.lns
Values with newlines *)
test CSV.lns get "a,\"b\n c\"\n" =
{ "1"
{ "1" = "a" }
{ "2" = "\"b\n c\"" } }
(* Test: CSV.lns_semicol
Semi-colon lens *)
test CSV.lns_semicol get "a;\"b;c\";d
# comment
#
e;f;with space\n" =
{ "1"
{ "1" = "a" }
{ "2" = "\"b;c\"" }
{ "3" = "d" } }
{ "#comment" = "comment" }
{ }
{ "2"
{ "1" = "e" }
{ "2" = "f" }
{ "3" = "with space" } }