Files
libopenapi/utils/windows_drive_test.go
quobix e677566cd8 bumped coverage
Signed-off-by: quobix <dave@quobix.com>
2024-01-18 15:11:39 -05:00

80 lines
2.5 KiB
Go

package utils
import (
"os"
"runtime"
"testing"
)
func TestReplaceWindowsDriveWithLinuxPath(t *testing.T) {
path := `C:\Users\pb33f\go\src\github.com\pb33f\libopenapi\utils\windows_drive_test.go`
expected := `/Users/pb33f/go/src/github.com/pb33f/libopenapi/utils/windows_drive_test.go`
result := ReplaceWindowsDriveWithLinuxPath(path)
if result != expected {
t.Errorf("Expected %s, got %s", expected, result)
}
path = `/do/not/replace/this/path`
expected = `/do/not/replace/this/path`
result = ReplaceWindowsDriveWithLinuxPath(path)
if result != expected {
t.Errorf("Expected %s, got %s", expected, result)
}
}
func TestCheckPathOverlap(t *testing.T) {
if runtime.GOOS == "windows" {
pathA := `C:\Users\pb33f`
pathB := `pb33f\files\thing.yaml`
expected := `C:\Users\pb33f\files\thing.yaml`
result := CheckPathOverlap(pathA, pathB, string(os.PathSeparator))
if result != expected {
t.Errorf("Expected %s, got %s", expected, result)
}
} else {
pathA := `/Users/pb33f`
pathB := `pb33f/files/thing.yaml`
expected := `/Users/pb33f/files/thing.yaml`
result := CheckPathOverlap(pathA, pathB, string(os.PathSeparator))
if result != expected {
t.Errorf("Expected %s, got %s", expected, result)
}
}
}
func TestCheckPathOverlap_CheckSlash(t *testing.T) {
pathA := `/Users/pb33f`
pathB := `Users/pb33f\files\thing.yaml`
expected := `/Users/pb33f/files\thing.yaml`
result := CheckPathOverlap(pathA, pathB, `\`)
if result != expected {
t.Errorf("Expected %s, got %s", expected, result)
}
}
func TestCheckPathOverlap_VariationA(t *testing.T) {
pathA := `/Users/pb33f`
pathB := `pb33f/files/thing.yaml`
expected := `/Users/pb33f/files/thing.yaml`
if runtime.GOOS == "windows" {
expected = `\Users\pb33f\files\thing.yaml`
}
result := CheckPathOverlap(pathA, pathB, `/`)
if result != expected {
t.Errorf("Expected %s, got %s", expected, result)
}
}
func TestCheckPathOverlap_VariationB(t *testing.T) {
pathA := `somewhere/pb33f`
pathB := `pb33f/files/thing.yaml`
expected := `somewhere/pb33f/files/thing.yaml`
if runtime.GOOS == "windows" {
expected = `somewhere\pb33f\files\thing.yaml`
}
result := CheckPathOverlap(pathA, pathB, `/`)
if result != expected {
t.Errorf("Expected %s, got %s", expected, result)
}
}