Home | History | Annotate | Download | only in preprocessor_tests
      1 //
      2 // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
      3 // Use of this source code is governed by a BSD-style license that can be
      4 // found in the LICENSE file.
      5 //
      6 
      7 #include "PreprocessorTest.h"
      8 #include "Token.h"
      9 
     10 void PreprocessorTest::preprocess(const char* input, const char* expected)
     11 {
     12     ASSERT_TRUE(mPreprocessor.init(1, &input, NULL));
     13 
     14     int line = 1;
     15     pp::Token token;
     16     std::stringstream stream;
     17     do
     18     {
     19         mPreprocessor.lex(&token);
     20         for (; line < token.location.line; ++line)
     21         {
     22             stream << "\n";
     23         }
     24         stream << token;
     25     } while (token.type != pp::Token::LAST);
     26 
     27     std::string actual = stream.str();
     28     EXPECT_STREQ(expected, actual.c_str());
     29 }
     30