@@ -348,5 +348,30 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(incremental_parser_parse_header_lines, eol, eol_ty
348348 valid_headers);
349349BOOST_CHECK_EQUAL (parsed_ok,true );
350350BOOST_CHECK (parsed1 != parsed2);
351+
352+ p.reset (response_parser_type::http_status_message_done);
353+ valid_headers =" Content-Type: text/html;" + eol::literal +" charset=utf-8" + eol::literal + eol::literal;
354+ fusion::tie (parsed_ok, result_range) = p.parse_until (
355+ response_parser_type::http_header_line_done,
356+ valid_headers);
357+ BOOST_CHECK_EQUAL (parsed_ok,true );
358+ parsed1 =std::string (boost::begin (result_range),boost::end (result_range));
359+ std::cout <<" PARSED:" << parsed1 <<" state=" << p.state () << std::endl;
360+ p.reset (response_parser_type::http_status_message_done);
361+ end = valid_headers.end ();
362+ valid_headers.assign (boost::end (result_range), end);
363+ fusion::tie (parsed_ok, result_range) = p.parse_until (
364+ response_parser_type::http_header_line_done,
365+ valid_headers);
366+ BOOST_CHECK_EQUAL (parsed_ok,true );
367+ parsed2 =std::string (boost::begin (result_range),boost::end (result_range));
368+ std::cout <<" PARSED:" << parsed2 <<" state=" << p.state () << std::endl;
369+ valid_headers.assign (boost::end (result_range), end);
370+ p.reset (response_parser_type::http_status_message_done);
371+ fusion::tie (parsed_ok, result_range) = p.parse_until (
372+ response_parser_type::http_headers_done,
373+ valid_headers);
374+ BOOST_CHECK_EQUAL (parsed_ok,true );
375+ BOOST_CHECK (parsed1 != parsed2);
351376}
352377