blob: 55fbc2eb8fa3c1ca33d33c1eeefec8bb580acc7d [file] [log] [blame]
// 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() {
}