anchor.diff:  parse_content_length_test_() ->
   	Tests = [
   		{<<"0">>, 0},
  -		{<<"42    ">>, 42},
  -		{<<"69\t">>, 69},
  +		{<<"42">>, 42},
  +		{<<"69">>, 69},
   		{<<"1337">>, 1337},
   		{<<"3495">>, 3495},
  -		{<<"1234567890">>, 1234567890},
  -		{<<"1234567890     ">>, 1234567890}
  +		{<<"1234567890">>, 1234567890}
   	],
   	[{V, fun() -> R = parse_content_length(V) end} || {V, R} <- Tests].
   
  
positive.code: parse_etag(<< $", R/bits >>) ->
  	etag(R, strong, <<>>).
  
  etag(<< $", R/bits >>, Strength, Tag) ->
  	ws_end(R),
  	{Strength, Tag};
  etag(<< C, R/bits >>, Strength, Tag) when ?IS_ETAGC(C) ->
  	etag(R, Strength, << Tag/binary, C >>).
  
negative.code: %% Only return if the list is not empty.
  nonempty(L) when L =/= [] -> L.
  
  %% Parse a number.
  number(<< $0, R/bits >>, Acc) -> number(R, Acc * 10);
  number(<< $1, R/bits >>, Acc) -> number(R, Acc * 10 + 1);
  number(<< $2, R/bits >>, Acc) -> number(R, Acc * 10 + 2);
  