Просмотр исходного кода

Close <li> tags in linebreaks.

Thanks to Drew Gulino
Evan Miller 14 лет назад
Родитель
Сommit
1facccc27e
2 измененных файлов с 5 добавлено и 1 удалено
  1. 4 0
      src/erlydtl_filters.erl
  2. 1 1
      tests/src/erlydtl_unittests.erl

+ 4 - 0
src/erlydtl_filters.erl

@@ -759,6 +759,10 @@ unordered_list([], Acc) ->
     ["<ul>", lists:reverse(Acc), "</ul>"];
     ["<ul>", lists:reverse(Acc), "</ul>"];
 unordered_list([First|_] = List, []) when is_integer(First) ->
 unordered_list([First|_] = List, []) when is_integer(First) ->
     "<li>"++List;
     "<li>"++List;
+unordered_list([First|Rest], Acc) when is_list(First), Rest == [] ->
+    unordered_list(Rest, ["</li>"] ++ [unordered_list(First, []) |  Acc ])  ;
+unordered_list([First|Rest], Acc) when is_list(First), is_integer(hd(hd(Rest))) ->
+    unordered_list(Rest, [unordered_list(First, []) ++ "</li>" |Acc]);
 unordered_list([First|Rest], Acc) when is_list(First) ->
 unordered_list([First|Rest], Acc) when is_list(First) ->
     unordered_list(Rest, [unordered_list(First, [])|Acc]).
     unordered_list(Rest, [unordered_list(First, [])|Acc]).
 
 

+ 1 - 1
tests/src/erlydtl_unittests.erl

@@ -780,7 +780,7 @@ tests() ->
                     <<"<p>The <strong>Long and <em>Winding</em>...</strong></p>">>},
                     <<"<p>The <strong>Long and <em>Winding</em>...</strong></p>">>},
                 {"|unordered_list",
                 {"|unordered_list",
                     <<"{{ var1|unordered_list }}">>, [{var1, ["States", ["Kansas", ["Lawrence", "Topeka"], "Illinois"]]}],
                     <<"{{ var1|unordered_list }}">>, [{var1, ["States", ["Kansas", ["Lawrence", "Topeka"], "Illinois"]]}],
-                    <<"<li>States<ul><li>Kansas<ul><li>Lawrence<li>Topeka</ul><li>Illinois</ul>">>},
+                    <<"<li>States<ul><li>Kansas<ul><li>Lawrence</li><li>Topeka</li></ul></li><li>Illinois</li></ul></li>">>},
                 {"|upper",
                 {"|upper",
                     <<"{{ message|upper }}">>, [{message, "That man has a gun."}],
                     <<"{{ message|upper }}">>, [{message, "That man has a gun."}],
                     <<"THAT MAN HAS A GUN.">>},
                     <<"THAT MAN HAS A GUN.">>},