Browse Source

{% if 0 %} should also be false.

Andreas Stenius 11 years ago
parent
commit
659cfde8bf
2 changed files with 12 additions and 17 deletions
  1. 10 17
      src/erlydtl_runtime.erl
  2. 2 0
      tests/src/erlydtl_unittests.erl

+ 10 - 17
src/erlydtl_runtime.erl

@@ -135,23 +135,16 @@ are_equal(Arg1, Arg2) when is_list(Arg1), is_atom(Arg2) ->
 are_equal(_, _) ->
     false.
 
-is_false("") ->
-    true;
-is_false(false) ->
-    true;
-is_false(undefined) ->
-    true;
-is_false("0") ->
-    true;
-is_false(<<"0">>) ->
-    true;
-is_false(<<>>) ->
-    true;
-is_false(_) ->
-    false.
-
-is_true(V) ->
-    not is_false(V).
+is_false("") -> true;
+is_false(false) -> true;
+is_false(undefined) -> true;
+is_false(0) -> true;
+is_false("0") -> true;
+is_false(<<"0">>) -> true;
+is_false(<<>>) -> true;
+is_false(_) -> false.
+
+is_true(V) -> not is_false(V).
 
 'in'(Sublist, [Sublist|_]) ->
     true;

+ 2 - 0
tests/src/erlydtl_unittests.erl

@@ -124,6 +124,8 @@ tests() ->
               <<"{% if not var1 %}yay{% endif %}">>, [{var1, ""}], <<"yay">>},
              {"If \"0\"",
               <<"{% if var1 %}boo{% endif %}">>, [{var1, "0"}], <<>>},
+             {"If 0",
+              <<"{% if var1 %}boo{% endif %}">>, [{var1, 0}], <<>>},
              {"If false",
               <<"{% if var1 %}boo{% endif %}">>, [{var1, false}], <<>>},
              {"If false string",