| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/webshare/win/fake_buffer.h" |
| |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace webshare { |
| |
| FakeBuffer::FakeBuffer(UINT32 capacity) : data_(capacity) {} |
| |
| FakeBuffer::~FakeBuffer() = default; |
| |
| IFACEMETHODIMP FakeBuffer::get_Capacity(UINT32* value) { |
| *value = data_.size(); |
| return S_OK; |
| } |
| IFACEMETHODIMP FakeBuffer::get_Length(UINT32* value) { |
| *value = length_; |
| return S_OK; |
| } |
| IFACEMETHODIMP FakeBuffer::put_Length(UINT32 value) { |
| if (value > data_.size()) { |
| ADD_FAILURE() << "put_Length called with a value (" << value |
| << ") greater than the capacity (" << data_.size() << ")"; |
| return E_INVALIDARG; |
| } |
| length_ = value; |
| return S_OK; |
| } |
| |
| IFACEMETHODIMP FakeBuffer::Buffer(byte** value) { |
| *value = data_.data(); |
| return S_OK; |
| } |
| |
| } // namespace webshare |