-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).