aboutsummaryrefslogtreecommitdiff
path: root/gen/test/iodata_test.erl
blob: b996bec5dcde118e46aa882d2b5308fe4c8667a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
-module(iodata_test).
-compile(no_auto_import).

-export([iodata_test/0, lowercase_test/0, uppercase_test/0, split_test/0, is_equal_test/0, is_empty_test/0]).

iodata_test() ->
    Data = iodata:prepend(iodata:append(iodata:append(iodata:new(<<"ello">>),
                                                      <<",">>),
                                        <<" world!">>),
                          <<"H">>),
    expect:equal(iodata:to_string(Data), <<"Hello, world!">>),
    expect:equal(iodata:byte_size(Data), 13),
    Data1 = iodata:prepend_iodata(iodata:append_iodata(iodata:append_iodata(iodata:new(<<"ello">>),
                                                                            iodata:new(<<",">>)),
                                                       iodata:concat([iodata:new(<<" wo">>),
                                                                      iodata:new(<<"rld!">>)])),
                                  iodata:new(<<"H">>)),
    expect:equal(iodata:to_string(Data1), <<"Hello, world!">>),
    expect:equal(iodata:byte_size(Data1), 13).

lowercase_test() ->
    expect:equal(iodata:to_string(iodata:lowercase(iodata:from_strings([<<"Gleam">>,
                                                                        <<"Gleam">>]))),
                 <<"gleamgleam">>).

uppercase_test() ->
    expect:equal(iodata:to_string(iodata:uppercase(iodata:from_strings([<<"Gleam">>,
                                                                        <<"Gleam">>]))),
                 <<"GLEAMGLEAM">>).

split_test() ->
    expect:equal(iodata:split(iodata:new(<<"Gleam,Erlang,Elixir">>), <<",">>),
                 [iodata:new(<<"Gleam">>),
                  iodata:new(<<"Erlang">>),
                  iodata:new(<<"Elixir">>)]),
    expect:equal(iodata:split(iodata:from_strings([<<"Gleam, Erl">>,
                                                   <<"ang,Elixir">>]),
                              <<", ">>),
                 [iodata:new(<<"Gleam">>),
                  iodata:from_strings([<<"Erl">>, <<"ang,Elixir">>])]).

is_equal_test() ->
    expect:true(iodata:is_equal(iodata:new(<<"12">>),
                                iodata:from_strings([<<"1">>, <<"2">>]))),
    expect:true(iodata:is_equal(iodata:new(<<"12">>), iodata:new(<<"12">>))),
    expect:false(iodata:is_equal(iodata:new(<<"12">>), iodata:new(<<"2">>))).

is_empty_test() ->
    expect:true(iodata:is_empty(iodata:new(<<"">>))),
    expect:false(iodata:is_empty(iodata:new(<<"12">>))),
    expect:true(iodata:is_empty(iodata:from_strings([]))),
    expect:true(iodata:is_empty(iodata:from_strings([<<"">>, <<"">>]))).