35    std::string actual_line;
 
   36    std::string expected_line;
 
   37    while (std::getline(actual, actual_line), !actual.eof()) {
 
   38        std::getline(expected, expected_line);
 
   40            FAIL() << 
"Redundant line in actual output: " << actual_line;
 
   43        if (actual.bad() || actual.fail() ||
 
   44            expected.bad() || expected.fail()) {
 
   45            throw std::runtime_error(
"Unexpected error in data streams");
 
   47        EXPECT_EQ(expected_line, actual_line);
 
   49    while (std::getline(expected, expected_line), !expected.eof()) {
 
   50        ADD_FAILURE() << 
"Missing line in actual output: " << expected_line;
 
 
   80              const std::string& actual_text)
 
   82    std::istringstream expected_is(expected_text);
 
   83    std::istringstream actual_is(actual_text);