mock_node.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1// Copyright 2013 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#ifndef TESTS_NACL_IO_TEST_MOCK_NODE_H_ 6#define TESTS_NACL_IO_TEST_MOCK_NODE_H_ 7 8#include "gmock/gmock.h" 9 10#include "nacl_io/filesystem.h" 11#include "nacl_io/kernel_handle.h" 12 13class MockNode : public nacl_io::Node { 14 public: 15 typedef nacl_io::Error Error; 16 typedef nacl_io::HandleAttr HandleAttr; 17 typedef nacl_io::ScopedNode ScopedNode; 18 19 explicit MockNode(nacl_io::Filesystem*); 20 virtual ~MockNode(); 21 22 MOCK_METHOD1(Init, Error(int)); 23 MOCK_METHOD0(Destroy, void()); 24 MOCK_METHOD0(FSync, Error()); 25 MOCK_METHOD1(FTruncate, Error(off_t)); 26 MOCK_METHOD4(GetDents, Error(size_t, struct dirent*, size_t, int*)); 27 MOCK_METHOD1(GetStat, Error(struct stat*)); 28 MOCK_METHOD2(Ioctl, Error(int, va_list)); 29 MOCK_METHOD4(Read, Error(const HandleAttr&, void*, size_t, int*)); 30 MOCK_METHOD4(Write, Error(const HandleAttr&, const void*, size_t, int*)); 31 MOCK_METHOD6(MMap, Error(void*, size_t, int, int, size_t, void**)); 32 MOCK_METHOD0(GetLinks, int()); 33 MOCK_METHOD0(GetMode, int()); 34 MOCK_METHOD0(GetType, int()); 35 MOCK_METHOD1(GetSize, Error(size_t*)); 36 MOCK_METHOD0(IsaDir, bool()); 37 MOCK_METHOD0(IsaFile, bool()); 38 MOCK_METHOD0(IsaTTY, bool()); 39 MOCK_METHOD0(ChildCount, int()); 40 MOCK_METHOD2(AddChild, Error(const std::string&, const ScopedNode&)); 41 MOCK_METHOD1(RemoveChild, Error(const std::string&)); 42 MOCK_METHOD2(FindChild, Error(const std::string&, ScopedNode*)); 43 MOCK_METHOD0(Link, void()); 44 MOCK_METHOD0(Unlink, void()); 45}; 46 47#endif // TESTS_NACL_IO_TEST_MOCK_NODE_H_ 48