Current section

Files

Jump to
gleam_stdlib gen test gleam@os_test.erl
Raw

gen/test/gleam@os_test.erl

-module(gleam@os_test).
-compile(no_auto_import).
-export([env_test/0, system_time_test/0, erlang_timestamp_test/0]).
env_test() ->
gleam@os:insert_env(<<"GLEAM_TEST"/utf8>>, <<"hello"/utf8>>),
gleam@should:equal(
gleam@map:get(gleam@os:get_env(), <<"GLEAM_TEST"/utf8>>),
{ok, <<"hello"/utf8>>}
),
gleam@os:delete_env(<<"GLEAM_TEST"/utf8>>),
gleam@should:equal(
gleam@map:get(gleam@os:get_env(), <<"GLEAM_TEST"/utf8>>),
{error, nil}
).
system_time_test() ->
June122020 = 1591966971,
gleam@should:equal(gleam@os:system_time(second) > June122020, true),
gleam@should:equal(gleam@os:system_time(second) < (June122020 * 1000), true),
gleam@should:equal(
gleam@os:system_time(millisecond)
> (June122020
* 1000),
true
),
gleam@should:equal(
gleam@os:system_time(millisecond)
< (June122020
* 1000000),
true
).
erlang_timestamp_test() ->
June122020 = 1591966971000000,
{MegaSeconds, Seconds, MicroSeconds} = gleam@os:erlang_timestamp(),
StampAsMicro = (((MegaSeconds * 1000000) + Seconds) * 1000000) + MicroSeconds,
gleam@should:be_true(StampAsMicro > June122020).