blob: ed02282f4dc19747f3f5aa0583935061d48412db [file] [log] [blame]
// 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