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

Don't use a plus-sign to quote spaces

Evan Miller 12 лет назад
Родитель
Сommit
4d5c8c5b88
2 измененных файлов с 1 добавлено и 7 удалено
  1. 0 6
      src/erlydtl_filters.erl
  2. 1 1
      tests/src/erlydtl_unittests.erl

+ 0 - 6
src/erlydtl_filters.erl

@@ -1129,14 +1129,10 @@ wordwrap([C | Rest], Acc, WordAcc, LineLength, WrapAt) when erlang:length(WordAc
 wordwrap([C | Rest], Acc, WordAcc, LineLength, WrapAt) ->
     wordwrap(Rest, Acc, [C | WordAcc], LineLength, WrapAt).
 
-% Taken from quote_plus of mochiweb_util
-
 urlencode(Input, Index) when is_binary(Input) ->
     case Input of
         <<_:Index/binary, Byte, _/binary>> when ?NO_ENCODE(Byte) ->
             urlencode(Input, Index + 1);
-        <<Pre:Index/binary, $\s, Post/binary>> ->
-            process_binary_match(Pre, <<"+">>, size(Post), urlencode(Post, 0));
         <<Pre:Index/binary, Hi:4, Lo:4, Post/binary>> ->
             HiDigit = hexdigit(Hi),
             LoDigit = hexdigit(Lo),
@@ -1149,8 +1145,6 @@ urlencode([], Acc) ->
     lists:reverse(Acc);
 urlencode([C | Rest], Acc) when ?NO_ENCODE(C) ->
     urlencode(Rest, [C | Acc]);
-urlencode([$\s | Rest], Acc) ->
-    urlencode(Rest, [$+ | Acc]);
 urlencode([C | Rest], Acc) ->
     <<Hi:4, Lo:4>> = <<C>>,
     urlencode(Rest, [hexdigit(Lo), hexdigit(Hi), $\% | Acc]).

+ 1 - 1
tests/src/erlydtl_unittests.erl

@@ -875,7 +875,7 @@ tests() ->
 		   <<"THAT MAN HAS A GUN.">>},
 		  {"|urlencode",
 		   <<"{{ url|urlencode }}">>, [{url, "You #$*@!!"}],
-		   <<"You+%23%24%2A%40%21%21">>},
+		   <<"You%20%23%24%2A%40%21%21">>},
 		  {"|urlize",    
 		   <<"{{ var|urlize }}">>, [{var, "Check out www.djangoproject.com"}],
 		   <<"Check out <a href=\"http://www.djangoproject.com\" rel=\"nofollow\">www.djangoproject.com</a>">>},