mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-07 04:20:14 +00:00
@@ -1,69 +1,79 @@
|
|||||||
package utils
|
package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestReplaceWindowsDriveWithLinuxPath(t *testing.T) {
|
func TestReplaceWindowsDriveWithLinuxPath(t *testing.T) {
|
||||||
path := `C:\Users\pb33f\go\src\github.com\pb33f\libopenapi\utils\windows_drive_test.go`
|
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`
|
expected := `/Users/pb33f/go/src/github.com/pb33f/libopenapi/utils/windows_drive_test.go`
|
||||||
result := ReplaceWindowsDriveWithLinuxPath(path)
|
result := ReplaceWindowsDriveWithLinuxPath(path)
|
||||||
if result != expected {
|
if result != expected {
|
||||||
t.Errorf("Expected %s, got %s", expected, result)
|
t.Errorf("Expected %s, got %s", expected, result)
|
||||||
}
|
}
|
||||||
|
|
||||||
path = `/do/not/replace/this/path`
|
path = `/do/not/replace/this/path`
|
||||||
expected = `/do/not/replace/this/path`
|
expected = `/do/not/replace/this/path`
|
||||||
result = ReplaceWindowsDriveWithLinuxPath(path)
|
result = ReplaceWindowsDriveWithLinuxPath(path)
|
||||||
if result != expected {
|
if result != expected {
|
||||||
t.Errorf("Expected %s, got %s", expected, result)
|
t.Errorf("Expected %s, got %s", expected, result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCheckPathOverlap(t *testing.T) {
|
func TestCheckPathOverlap(t *testing.T) {
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
pathA := `C:\Users\pb33f`
|
pathA := `C:\Users\pb33f`
|
||||||
pathB := `pb33f\files\thing.yaml`
|
pathB := `pb33f\files\thing.yaml`
|
||||||
expected := `C:\Users\pb33f\files\thing.yaml`
|
expected := `C:\Users\pb33f\files\thing.yaml`
|
||||||
result := CheckPathOverlap(pathA, pathB, string(os.PathSeparator))
|
result := CheckPathOverlap(pathA, pathB, string(os.PathSeparator))
|
||||||
if result != expected {
|
if result != expected {
|
||||||
t.Errorf("Expected %s, got %s", expected, result)
|
t.Errorf("Expected %s, got %s", expected, result)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
pathA := `/Users/pb33f`
|
pathA := `/Users/pb33f`
|
||||||
pathB := `pb33f/files/thing.yaml`
|
pathB := `pb33f/files/thing.yaml`
|
||||||
expected := `/Users/pb33f/files/thing.yaml`
|
expected := `/Users/pb33f/files/thing.yaml`
|
||||||
result := CheckPathOverlap(pathA, pathB, string(os.PathSeparator))
|
result := CheckPathOverlap(pathA, pathB, string(os.PathSeparator))
|
||||||
if result != expected {
|
if result != expected {
|
||||||
t.Errorf("Expected %s, got %s", expected, result)
|
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) {
|
func TestCheckPathOverlap_VariationA(t *testing.T) {
|
||||||
pathA := `/Users/pb33f`
|
pathA := `/Users/pb33f`
|
||||||
pathB := `pb33f/files/thing.yaml`
|
pathB := `pb33f/files/thing.yaml`
|
||||||
expected := `/Users/pb33f/files/thing.yaml`
|
expected := `/Users/pb33f/files/thing.yaml`
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
expected = `\Users\pb33f\files\thing.yaml`
|
expected = `\Users\pb33f\files\thing.yaml`
|
||||||
}
|
}
|
||||||
result := CheckPathOverlap(pathA, pathB, `/`)
|
result := CheckPathOverlap(pathA, pathB, `/`)
|
||||||
if result != expected {
|
if result != expected {
|
||||||
t.Errorf("Expected %s, got %s", expected, result)
|
t.Errorf("Expected %s, got %s", expected, result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCheckPathOverlap_VariationB(t *testing.T) {
|
func TestCheckPathOverlap_VariationB(t *testing.T) {
|
||||||
pathA := `somewhere/pb33f`
|
pathA := `somewhere/pb33f`
|
||||||
pathB := `pb33f/files/thing.yaml`
|
pathB := `pb33f/files/thing.yaml`
|
||||||
expected := `somewhere/pb33f/files/thing.yaml`
|
expected := `somewhere/pb33f/files/thing.yaml`
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
expected = `somewhere\pb33f\files\thing.yaml`
|
expected = `somewhere\pb33f\files\thing.yaml`
|
||||||
}
|
}
|
||||||
result := CheckPathOverlap(pathA, pathB, `/`)
|
result := CheckPathOverlap(pathA, pathB, `/`)
|
||||||
if result != expected {
|
if result != expected {
|
||||||
t.Errorf("Expected %s, got %s", expected, result)
|
t.Errorf("Expected %s, got %s", expected, result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user