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