test_with_scope.cc revision c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c
1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "tools/gn/test_with_scope.h" 6 7#include "base/bind.h" 8#include "tools/gn/parser.h" 9#include "tools/gn/tokenizer.h" 10 11TestWithScope::TestWithScope() 12 : build_settings_(), 13 settings_(&build_settings_, std::string()), 14 toolchain_(&settings_, Label(SourceDir("//toolchain/"), "default")), 15 scope_(&settings_) { 16 build_settings_.SetBuildDir(SourceDir("//out/Debug/")); 17 build_settings_.set_print_callback( 18 base::Bind(&TestWithScope::AppendPrintOutput, base::Unretained(this))); 19 20 settings_.set_toolchain_label(toolchain_.label()); 21 settings_.set_default_toolchain_label(toolchain_.label()); 22} 23 24TestWithScope::~TestWithScope() { 25} 26 27void TestWithScope::AppendPrintOutput(const std::string& str) { 28 print_output_.append(str); 29} 30 31TestParseInput::TestParseInput(const std::string& input) 32 : input_file_(SourceFile("//test")) { 33 input_file_.SetContents(input); 34 35 tokens_ = Tokenizer::Tokenize(&input_file_, &parse_err_); 36 if (!parse_err_.has_error()) 37 parsed_ = Parser::Parse(tokens_, &parse_err_); 38} 39 40TestParseInput::~TestParseInput() { 41} 42