186 lines
3.4 KiB
Go
186 lines
3.4 KiB
Go
package envpath
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestAddRemove(t *testing.T) {
|
|
paths, err := Paths()
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
modified, err := Remove("/tmp/doesnt/exist")
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if modified {
|
|
t.Error(fmt.Errorf("Remove /tmp/doesnt/exist: should not have modified"))
|
|
return
|
|
}
|
|
|
|
modified, err = Add("/tmp/delete/me")
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if !modified {
|
|
t.Error(fmt.Errorf("Add /tmp/delete/me: should have modified"))
|
|
return
|
|
}
|
|
|
|
var exists bool
|
|
paths, err = Paths()
|
|
for i := range paths {
|
|
if "/tmp/delete/me" == paths[i] {
|
|
exists = true
|
|
}
|
|
}
|
|
if !exists {
|
|
fmt.Println("len(paths):", len(paths))
|
|
t.Error(fmt.Errorf("Paths: should have had the entry: /tmp/delete/me"))
|
|
return
|
|
}
|
|
|
|
modified, err = Add("/tmp/delete/me")
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if modified {
|
|
t.Error(fmt.Errorf("Add /tmp/delete/me: should not have modified"))
|
|
return
|
|
}
|
|
|
|
exists = false
|
|
paths, err = Paths()
|
|
for i := range paths {
|
|
if "/tmp/delete/me" == paths[i] {
|
|
exists = true
|
|
}
|
|
}
|
|
if !exists {
|
|
fmt.Println("len(paths):", len(paths))
|
|
t.Error(fmt.Errorf("Paths: should have had the entry: /tmp/delete/me"))
|
|
return
|
|
}
|
|
|
|
modified, err = Remove("/tmp/doesnt/exist")
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if modified {
|
|
t.Error(fmt.Errorf("Remove /tmp/doesnt/exist: should not have modified"))
|
|
return
|
|
}
|
|
|
|
modified, err = Remove("/tmp/delete/me")
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if !modified {
|
|
t.Error(fmt.Errorf("Remove /tmp/delete/me: should have modified"))
|
|
return
|
|
}
|
|
|
|
exists = false
|
|
paths, err = Paths()
|
|
for i := range paths {
|
|
if "/tmp/delete/me" == paths[i] {
|
|
exists = true
|
|
}
|
|
}
|
|
if exists {
|
|
fmt.Println("len(paths):", len(paths))
|
|
t.Error(fmt.Errorf("Paths: should not have had the entry: /tmp/delete/me"))
|
|
return
|
|
}
|
|
|
|
modified, err = Remove("/tmp/delete/me")
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if modified {
|
|
t.Error(fmt.Errorf("Remove /tmp/delete/me: should not have modified"))
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestHome(t *testing.T) {
|
|
home, _ := os.UserHomeDir()
|
|
|
|
modified, err := Add(filepath.Join(home, "deleteme"))
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if !modified {
|
|
t.Error(fmt.Errorf("Add $HOME/deleteme: should have modified"))
|
|
return
|
|
}
|
|
|
|
modified, err = Add(filepath.Join(home, "deleteme"))
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if modified {
|
|
t.Error(fmt.Errorf("Add $HOME/deleteme: should not have modified"))
|
|
return
|
|
}
|
|
|
|
exists := false
|
|
paths, err := Paths()
|
|
for i := range paths {
|
|
if "$HOME/deleteme" == paths[i] {
|
|
exists = true
|
|
}
|
|
}
|
|
if !exists {
|
|
fmt.Println("len(paths):", len(paths))
|
|
t.Error(fmt.Errorf("Paths: should have had the entry: $HOME/deleteme"))
|
|
return
|
|
}
|
|
|
|
modified, err = Remove(filepath.Join(home, "deleteme"))
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if !modified {
|
|
t.Error(fmt.Errorf("Remove $HOME/deleteme: should have modified"))
|
|
return
|
|
}
|
|
|
|
exists = false
|
|
paths, err = Paths()
|
|
for i := range paths {
|
|
if "$HOME/deleteme" == paths[i] {
|
|
exists = true
|
|
}
|
|
}
|
|
if exists {
|
|
fmt.Println("len(paths):", len(paths))
|
|
t.Error(fmt.Errorf("Paths: should not have had the entry: $HOME/deleteme"))
|
|
return
|
|
}
|
|
|
|
modified, err = Remove(filepath.Join(home, "deleteme"))
|
|
if nil != err {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if modified {
|
|
t.Error(fmt.Errorf("Remove $HOME/deleteme: should not have modified"))
|
|
return
|
|
}
|
|
}
|