mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-12-29 10:36:31 +00:00
70 lines
1.5 KiB
Go
70 lines
1.5 KiB
Go
|
package rifs
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
// SimpleFileInfo is a simple `os.FileInfo` implementation useful for testing
|
||
|
// with the bare minimum.
|
||
|
type SimpleFileInfo struct {
|
||
|
filename string
|
||
|
isDir bool
|
||
|
size int64
|
||
|
mode os.FileMode
|
||
|
modTime time.Time
|
||
|
}
|
||
|
|
||
|
// NewSimpleFileInfoWithFile returns a new file-specific SimpleFileInfo.
|
||
|
func NewSimpleFileInfoWithFile(filename string, size int64, mode os.FileMode, modTime time.Time) *SimpleFileInfo {
|
||
|
return &SimpleFileInfo{
|
||
|
filename: filename,
|
||
|
isDir: false,
|
||
|
size: size,
|
||
|
mode: mode,
|
||
|
modTime: modTime,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// NewSimpleFileInfoWithDirectory returns a new directory-specific
|
||
|
// SimpleFileInfo.
|
||
|
func NewSimpleFileInfoWithDirectory(filename string, modTime time.Time) *SimpleFileInfo {
|
||
|
return &SimpleFileInfo{
|
||
|
filename: filename,
|
||
|
isDir: true,
|
||
|
mode: os.ModeDir,
|
||
|
modTime: modTime,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Name returns the base name of the file.
|
||
|
func (sfi *SimpleFileInfo) Name() string {
|
||
|
return sfi.filename
|
||
|
}
|
||
|
|
||
|
// Size returns the length in bytes for regular files; system-dependent for
|
||
|
// others.
|
||
|
func (sfi *SimpleFileInfo) Size() int64 {
|
||
|
return sfi.size
|
||
|
}
|
||
|
|
||
|
// Mode returns the file mode bits.
|
||
|
func (sfi *SimpleFileInfo) Mode() os.FileMode {
|
||
|
return sfi.mode
|
||
|
}
|
||
|
|
||
|
// ModTime returns the modification time.
|
||
|
func (sfi *SimpleFileInfo) ModTime() time.Time {
|
||
|
return sfi.modTime
|
||
|
}
|
||
|
|
||
|
// IsDir returns true if a directory.
|
||
|
func (sfi *SimpleFileInfo) IsDir() bool {
|
||
|
return sfi.isDir
|
||
|
}
|
||
|
|
||
|
// Sys returns internal state.
|
||
|
func (sfi *SimpleFileInfo) Sys() interface{} {
|
||
|
return nil
|
||
|
}
|