Skip to content

Commit

Permalink
fix formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
abalazsik committed Sep 16, 2024
1 parent 863bfbc commit b871f8f
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 18 deletions.
8 changes: 5 additions & 3 deletions src/jsone_encode.erl
Original file line number Diff line number Diff line change
Expand Up @@ -603,14 +603,16 @@ local_offset() ->
Local = calendar:universal_time_to_local_time({{1970, 1, 2}, {0, 0, 0}}),
calendar:datetime_to_gregorian_seconds(Local) - calendar:datetime_to_gregorian_seconds(UTC).


-ifndef(TIME_MODULE).

-define(TIME_MODULE, erlang).

-endif.

-spec local_offset_dst () -> jsone:utc_offset_seconds().

-spec local_offset_dst() -> jsone:utc_offset_seconds().
local_offset_dst() ->
LocalDateTime = ?TIME_MODULE:localtime(),
calendar:datetime_to_gregorian_seconds(LocalDateTime)
- calendar:datetime_to_gregorian_seconds(?TIME_MODULE:localtime_to_universaltime(LocalDateTime)).
calendar:datetime_to_gregorian_seconds(LocalDateTime) -
calendar:datetime_to_gregorian_seconds(?TIME_MODULE:localtime_to_universaltime(LocalDateTime)).
3 changes: 2 additions & 1 deletion test/jsone_decode_tests.erl
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ decode_test_() ->
?assertEqual({ok, 0, <<"1">>}, jsone_decode:decode(<<"-01">>))
end},
{"integer can't begin with an explicit plus sign",
fun() -> ?assertMatch({error, {badarg, _}}, jsone_decode:decode(<<"+1">>)) end},
fun() -> ?assertMatch({error, {badarg, _}}, jsone_decode:decode(<<"+1">>))
end},

%% Numbers: Floats
{"float: decimal notation", fun() -> ?assertEqual({ok, 1.23, <<"">>}, jsone_decode:decode(<<"1.23">>)) end},
Expand Down
23 changes: 11 additions & 12 deletions test/jsone_encode_tests.erl
Original file line number Diff line number Diff line change
Expand Up @@ -141,22 +141,21 @@ encode_test_() ->
end
end},
{"datetime: iso8601: local with daylight saving variable zone - summer time (2h offset)",
fun() ->
test_time_module:set_localtime({{2024, 9, 15},{11, 00, 00}}),
test_time_module:mock_localtime_to_universaltime(fun(_) -> {{2024, 9, 15},{9, 00, 00}} end),
fun() ->
test_time_module:set_localtime({{2024, 9, 15}, {11, 00, 00}}),
test_time_module:mock_localtime_to_universaltime(fun(_) -> {{2024, 9, 15}, {9, 00, 00}} end),

{ok, Json} = jsone_encode:encode({{2015, 6, 25}, {14, 57, 25}}, [{datetime_format, {iso8601, local_dst}}]),
?assertMatch(<<"\"2015-06-25T14:57:25+02:00\"">>, Json)
{ok, Json} = jsone_encode:encode({{2015, 6, 25}, {14, 57, 25}}, [{datetime_format, {iso8601, local_dst}}]),
?assertMatch(<<"\"2015-06-25T14:57:25+02:00\"">>, Json)
end},
{"datetime: iso8601: local with daylight saving variable zone - winter time (1h offset)",
fun() ->
test_time_module:set_localtime({{2024, 12, 15},{11, 00, 00}}),
test_time_module:mock_localtime_to_universaltime(fun(_) -> {{2024, 12, 15},{10, 00, 00}} end),
fun() ->
test_time_module:set_localtime({{2024, 12, 15}, {11, 00, 00}}),
test_time_module:mock_localtime_to_universaltime(fun(_) -> {{2024, 12, 15}, {10, 00, 00}} end),

{ok, Json} = jsone_encode:encode({{2015, 6, 25}, {14, 57, 25}}, [{datetime_format, {iso8601, local_dst}}]),
?assertMatch(<<"\"2015-06-25T14:57:25+01:00\"">>, Json)
end
},
{ok, Json} = jsone_encode:encode({{2015, 6, 25}, {14, 57, 25}}, [{datetime_format, {iso8601, local_dst}}]),
?assertMatch(<<"\"2015-06-25T14:57:25+01:00\"">>, Json)
end},
{"datetime: iso8601: timezone",
fun() ->
?assertEqual({ok, <<"\"2015-06-25T14:57:25Z\"">>},
Expand Down
8 changes: 6 additions & 2 deletions test/test_time_module.erl
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
-module(test_time_module).
-export([localtime/0, set_localtime/1, localtime_to_universaltime/1, mock_localtime_to_universaltime/1]).

set_localtime({{_,_,_}, {_,_,_}} = LocalTime) ->

set_localtime({{_, _, _}, {_, _, _}} = LocalTime) ->
erlang:put('__test_time_module__localtime__', LocalTime).


localtime() ->
erlang:get('__test_time_module__localtime__').

localtime_to_universaltime({{_,_,_}, {_,_,_}} = LocalTime) ->

localtime_to_universaltime({{_, _, _}, {_, _, _}} = LocalTime) ->
LocalTimeToUniversalTimeFun = erlang:get('__test_time_module_localtime_to_universaltime__'),
LocalTimeToUniversalTimeFun(LocalTime).


mock_localtime_to_universaltime(Fun) when is_function(Fun) ->
erlang:put('__test_time_module_localtime_to_universaltime__', Fun).

0 comments on commit b871f8f

Please sign in to comment.