// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "tools/gn/test_with_scope.h" #include "base/bind.h" #include "tools/gn/parser.h" #include "tools/gn/tokenizer.h" TestWithScope::TestWithScope() : build_settings_(), settings_(&build_settings_, std::string()), toolchain_(&settings_, Label(SourceDir("//toolchain/"), "default")), scope_(&settings_) { build_settings_.SetBuildDir(SourceDir("//out/Debug/")); build_settings_.set_print_callback( base::Bind(&TestWithScope::AppendPrintOutput, base::Unretained(this))); settings_.set_toolchain_label(toolchain_.label()); settings_.set_default_toolchain_label(toolchain_.label()); } TestWithScope::~TestWithScope() { } void TestWithScope::AppendPrintOutput(const std::string& str) { print_output_.append(str); } TestParseInput::TestParseInput(const std::string& input) : input_file_(SourceFile("//test")) { input_file_.SetContents(input); tokens_ = Tokenizer::Tokenize(&input_file_, &parse_err_); if (!parse_err_.has_error()) parsed_ = Parser::Parse(tokens_, &parse_err_); } TestParseInput::~TestParseInput() { }