1 // Copyright 2020 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/webshare/win/fake_buffer.h" 6 7 #include "testing/gtest/include/gtest/gtest.h" 8 9 namespace webshare { 10 FakeBuffer(UINT32 capacity)11FakeBuffer::FakeBuffer(UINT32 capacity) : data_(capacity) {} 12 13 FakeBuffer::~FakeBuffer() = default; 14 get_Capacity(UINT32 * value)15IFACEMETHODIMP FakeBuffer::get_Capacity(UINT32* value) { 16 *value = data_.size(); 17 return S_OK; 18 } get_Length(UINT32 * value)19IFACEMETHODIMP FakeBuffer::get_Length(UINT32* value) { 20 *value = length_; 21 return S_OK; 22 } put_Length(UINT32 value)23IFACEMETHODIMP FakeBuffer::put_Length(UINT32 value) { 24 if (value > data_.size()) { 25 ADD_FAILURE() << "put_Length called with a value (" << value 26 << ") greater than the capacity (" << data_.size() << ")"; 27 return E_INVALIDARG; 28 } 29 length_ = value; 30 return S_OK; 31 } 32 Buffer(byte ** value)33IFACEMETHODIMP FakeBuffer::Buffer(byte** value) { 34 *value = data_.data(); 35 return S_OK; 36 } 37 38 } // namespace webshare 39