// Copyright 2013 The Flutter 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 "flutter/testing/stream_capture.h" namespace flutter { namespace testing { StreamCapture::StreamCapture(std::ostream* ostream) : ostream_(ostream), old_buffer_(ostream_->rdbuf()) { ostream_->rdbuf(buffer_.rdbuf()); } StreamCapture::~StreamCapture() { Stop(); } void StreamCapture::Stop() { if (old_buffer_) { ostream_->rdbuf(old_buffer_); old_buffer_ = nullptr; } } std::string StreamCapture::GetOutput() const { return buffer_.str(); } } // namespace testing } // namespace flutter