Newer
Older
var fileData = []byte("aaaaaaaaaaaabbbbbbbbbbbbbbbbbbbaeeeeeeeeeeeeeeaaaaaa")
var fileData2 = []byte("bbbbbbbbbbbb66666666666666666666664bb")
rename(t, fileName0, fileName1)
readAndCheck(t, fileName1, fileData)
remove(t, fileName1)
checkGone(t, fileName0)
func TestWriteAndBackup(t *testing.T) {
fileName := "testfile"
backupName := "testfile.bak"
if FileExists(fileName) {
remove(t, fileName)
}
if FileExists(backupName) {
remove(t, backupName)
}
write(t, fileName, fileData)
readAndCheck(t, fileName, fileData)
WriteAndBackup(getName(fileName), fileData2)
readAndCheck(t, backupName, fileData)
remove(t, fileName)
remove(t, backupName)
checkGone(t, fileName)
}
func getName(name string) string {
return path.Join(tempFolder, name)
}
func write(t *testing.T, fileName string, data []byte) {
err := WriteFile(getName(fileName), data, FILE_RW)
func readAndCheck(t *testing.T, fileName string, btsIn []byte) {
assert.True(t, bytes.Equal(bts, btsIn), "Failed to read file data. Written: %s, Read: %s\n", string(fileData), string(bts))
func remove(t *testing.T, fileName string) {
err := os.Remove(getName(fileName))
assert.NoError(t, err)
checkGone(t, fileName)
func rename(t *testing.T, fileName0, fileName1 string) {
assert.NoError(t, Rename(getName(fileName0), getName(fileName1)))
_, err := os.Stat(name)
assert.True(t, os.IsNotExist(err), "File not removed: "+name)
}