92 lines
1.6 KiB
Plaintext
92 lines
1.6 KiB
Plaintext
|
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" } }
|
||
|
|