@@ -10,6 +10,14 @@ import (
1010 "github.com/go-git/go-billy/v6"
1111)
1212
13+ type CallLogger struct {
14+ Calls []string
15+ }
16+
17+ func (l * CallLogger ) Log (call string , args string ) {
18+ l .Calls = append (l .Calls , call + " " + args )
19+ }
20+
1321type BasicMock struct {
1422 CreateArgs []string
1523 OpenArgs []string
@@ -18,6 +26,7 @@ type BasicMock struct {
1826 RenameArgs [][2 ]string
1927 RemoveArgs []string
2028 JoinArgs [][]string
29+ CallLogger CallLogger
2130}
2231
2332func (fs * BasicMock ) Create (filename string ) (billy.File , error ) {
@@ -32,7 +41,7 @@ func (fs *BasicMock) Open(filename string) (billy.File, error) {
3241
3342func (fs * BasicMock ) OpenFile (filename string , flag int , mode fs.FileMode ) (billy.File , error ) {
3443 fs .OpenFileArgs = append (fs .OpenFileArgs , [3 ]interface {}{filename , flag , mode })
35- return & FileMock {name : filename }, nil
44+ return & FileMock {name : filename , callLogger : & fs . CallLogger }, nil
3645}
3746
3847func (fs * BasicMock ) Stat (filename string ) (os.FileInfo , error ) {
@@ -106,6 +115,7 @@ func (fs *SymlinkMock) Readlink(link string) (string, error) {
106115type FileMock struct {
107116 name string
108117 bytes.Buffer
118+ callLogger * CallLogger
109119}
110120
111121func (f * FileMock ) Name () string {
@@ -140,6 +150,11 @@ func (*FileMock) Stat() (fs.FileInfo, error) {
140150 return nil , nil
141151}
142152
153+ func (f * FileMock ) Sync () error {
154+ f .callLogger .Log ("Sync" , f .name )
155+ return nil
156+ }
157+
143158func (* FileMock ) Truncate (_ int64 ) error {
144159 return nil
145160}
0 commit comments