| // 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 |