This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
209
unikernel/duniverse/dune_/otherlibs/stdune/test/string_tests.ml
Normal file
209
unikernel/duniverse/dune_/otherlibs/stdune/test/string_tests.ml
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
open! Stdune
|
||||
open Dyn
|
||||
open Dune_tests_common
|
||||
|
||||
let () = init ()
|
||||
let take s n = String.take s n |> string |> print_dyn
|
||||
let drop s n = String.drop s n |> string |> print_dyn
|
||||
let split_n s n = String.split_n s n |> pair string string |> print_dyn
|
||||
let split s ~on = String.split s ~on |> list string |> print_dyn
|
||||
|
||||
let%expect_test _ =
|
||||
take "foobar" 3;
|
||||
[%expect
|
||||
{|
|
||||
"foo"
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
take "foobar" 0;
|
||||
[%expect
|
||||
{|
|
||||
""
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
take "foo" 10;
|
||||
[%expect
|
||||
{|
|
||||
"foo"
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
take "" 10;
|
||||
[%expect
|
||||
{|
|
||||
""
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
take "" 0;
|
||||
[%expect
|
||||
{|
|
||||
""
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
drop "" 0;
|
||||
[%expect
|
||||
{|
|
||||
""
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
drop "foo" 0;
|
||||
[%expect
|
||||
{|
|
||||
"foo"
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
drop "foo" 5;
|
||||
[%expect
|
||||
{|
|
||||
""
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
drop "foobar" 3;
|
||||
[%expect
|
||||
{|
|
||||
"bar"
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split_n "foobar" 3;
|
||||
[%expect
|
||||
{|
|
||||
("foo", "bar")
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split_n "foobar" 10;
|
||||
[%expect
|
||||
{|
|
||||
("foobar", "")
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split_n "foobar" 0;
|
||||
[%expect
|
||||
{|
|
||||
("", "foobar")
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split_n "foobar" 6;
|
||||
[%expect
|
||||
{|
|
||||
("foobar", "")
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split_n "" 0;
|
||||
[%expect
|
||||
{|
|
||||
("", "")
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split_n "" 10;
|
||||
[%expect
|
||||
{|
|
||||
("", "")
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
String.longest_prefix [ "food"; "foo"; "foo-bar" ] |> string |> print_dyn;
|
||||
[%expect
|
||||
{|
|
||||
"foo"
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
String.drop_suffix "foobar" ~suffix:"bar" |> option string |> print_dyn;
|
||||
[%expect
|
||||
{|
|
||||
Some "foo"
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
String.drop_suffix "foobar" ~suffix:"foobar" |> option string |> print_dyn;
|
||||
[%expect
|
||||
{|
|
||||
Some ""
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
String.drop_suffix "foobar" ~suffix:"" |> option string |> print_dyn;
|
||||
[%expect
|
||||
{|
|
||||
Some "foobar"
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
String.drop_suffix "foobar" ~suffix:"foo" |> option string |> print_dyn;
|
||||
[%expect
|
||||
{|
|
||||
None
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split "a" ~on:':';
|
||||
[%expect {| [ "a" ] |}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split "" ~on:':';
|
||||
[%expect {| [ "" ] |}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split "a:" ~on:':';
|
||||
[%expect {| [ "a"; "" ] |}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split ":a" ~on:':';
|
||||
[%expect {| [ ""; "a" ] |}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split "a:b" ~on:':';
|
||||
[%expect {| [ "a"; "b" ] |}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split ":" ~on:':';
|
||||
[%expect {| [ ""; "" ] |}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split "::" ~on:':';
|
||||
[%expect {| [ ""; ""; "" ] |}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
split ":::" ~on:':';
|
||||
[%expect {| [ ""; ""; ""; "" ] |}]
|
||||
;;
|
||||
Loading…
Add table
Add a link
Reference in a new issue