Current section

Files

Jump to
gleam_stdlib gen test gleam@bit_string_test.erl
Raw

gen/test/gleam@bit_string_test.erl

-module(gleam@bit_string_test).
-compile(no_auto_import).
-export([byte_size_test/0, append_test/0, concat_test/0, slice_test/0, to_string_test/0, is_utf8_test/0]).
-spec byte_size_test() -> nil.
byte_size_test() ->
_pipe = gleam@bit_string:byte_size(
gleam@bit_string:from_string(<<"hello"/utf8>>)
),
gleam@should:equal(_pipe, 5),
_pipe@1 = gleam@bit_string:byte_size(
gleam@bit_string:from_string(<<""/utf8>>)
),
gleam@should:equal(_pipe@1, 0).
-spec append_test() -> nil.
append_test() ->
_pipe = gleam@bit_string:from_string(<<"Test"/utf8>>),
_pipe@1 = gleam@bit_string:append(
_pipe,
gleam@bit_string:from_string(<<" Me"/utf8>>)
),
gleam@should:equal(
_pipe@1,
gleam@bit_string:from_string(<<"Test Me"/utf8>>)
),
_pipe@2 = <<1, 2>>,
_pipe@3 = gleam@bit_string:append(_pipe@2, <<>>),
gleam@should:equal(_pipe@3, <<1, 2>>),
_pipe@4 = <<1, 2>>,
_pipe@5 = gleam@bit_string:append(_pipe@4, <<3, 4>>),
gleam@should:equal(_pipe@5, <<1, 2, 3, 4>>).
-spec concat_test() -> nil.
concat_test() ->
_pipe = [<<1, 2>>],
_pipe@1 = gleam@bit_string:concat(_pipe),
gleam@should:equal(_pipe@1, <<1, 2>>),
_pipe@2 = [<<1, 2>>, <<3>>, <<4>>],
_pipe@3 = gleam@bit_string:concat(_pipe@2),
gleam@should:equal(_pipe@3, <<1, 2, 3, 4>>).
-spec slice_test() -> nil.
slice_test() ->
_pipe = <<"hello"/utf8>>,
_pipe@1 = gleam@bit_string:slice(_pipe, 0, 5),
gleam@should:equal(_pipe@1, {ok, <<"hello"/utf8>>}),
_pipe@2 = <<"hello"/utf8>>,
_pipe@3 = gleam@bit_string:slice(_pipe@2, 0, 0),
gleam@should:equal(_pipe@3, {ok, <<""/utf8>>}),
_pipe@4 = <<"hello"/utf8>>,
_pipe@5 = gleam@bit_string:slice(_pipe@4, 2, 2),
gleam@should:equal(_pipe@5, {ok, <<"ll"/utf8>>}),
_pipe@6 = <<"hello"/utf8>>,
_pipe@7 = gleam@bit_string:slice(_pipe@6, 5, -2),
gleam@should:equal(_pipe@7, {ok, <<"lo"/utf8>>}),
_pipe@8 = <<""/utf8>>,
_pipe@9 = gleam@bit_string:slice(_pipe@8, 0, 0),
gleam@should:equal(_pipe@9, {ok, <<""/utf8>>}),
_pipe@10 = <<"hello"/utf8>>,
_pipe@11 = gleam@bit_string:slice(_pipe@10, 6, 0),
gleam@should:equal(_pipe@11, {error, nil}),
_pipe@12 = <<"hello"/utf8>>,
_pipe@13 = gleam@bit_string:slice(_pipe@12, 1, -2),
gleam@should:equal(_pipe@13, {error, nil}),
_pipe@14 = gleam@bit_string:from_string(<<"hello"/utf8>>),
_pipe@15 = gleam@bit_string:slice(_pipe@14, -1, 1),
gleam@should:equal(_pipe@15, {error, nil}),
_pipe@16 = gleam@bit_string:from_string(<<"hello"/utf8>>),
_pipe@17 = gleam@bit_string:slice(_pipe@16, 1, 6),
gleam@should:equal(_pipe@17, {error, nil}).
-spec to_string_test() -> nil.
to_string_test() ->
_pipe = <<>>,
_pipe@1 = gleam@bit_string:to_string(_pipe),
gleam@should:equal(_pipe@1, {ok, <<""/utf8>>}),
_pipe@2 = <<""/utf8>>,
_pipe@3 = gleam@bit_string:to_string(_pipe@2),
gleam@should:equal(_pipe@3, {ok, <<""/utf8>>}),
_pipe@4 = <<"Hello"/utf8>>,
_pipe@5 = gleam@bit_string:to_string(_pipe@4),
gleam@should:equal(_pipe@5, {ok, <<"Hello"/utf8>>}),
_pipe@6 = <<"ø"/utf8>>,
_pipe@7 = gleam@bit_string:to_string(_pipe@6),
gleam@should:equal(_pipe@7, {ok, <<"ø"/utf8>>}),
_pipe@8 = <<65535>>,
_pipe@9 = gleam@bit_string:to_string(_pipe@8),
gleam@should:equal(_pipe@9, {error, nil}).
-spec is_utf8_test() -> nil.
is_utf8_test() ->
_pipe = <<>>,
_pipe@1 = gleam@bit_string:is_utf8(_pipe),
gleam@should:be_true(_pipe@1),
_pipe@2 = <<""/utf8>>,
_pipe@3 = gleam@bit_string:is_utf8(_pipe@2),
gleam@should:be_true(_pipe@3),
_pipe@4 = <<"Hello"/utf8>>,
_pipe@5 = gleam@bit_string:is_utf8(_pipe@4),
gleam@should:be_true(_pipe@5),
_pipe@6 = <<"ø"/utf8>>,
_pipe@7 = gleam@bit_string:is_utf8(_pipe@6),
gleam@should:be_true(_pipe@7),
_pipe@8 = <<65535>>,
_pipe@9 = gleam@bit_string:is_utf8(_pipe@8),
gleam@should:be_false(_pipe@9).