35 lines
919 B
Go
35 lines
919 B
Go
![]() |
// +build windows
|
||
|
|
||
|
package dockerfile
|
||
|
|
||
|
import "testing"
|
||
|
|
||
|
func TestNormaliseWorkdir(t *testing.T) {
|
||
|
tests := []struct{ current, requested, expected, etext string }{
|
||
|
{``, ``, ``, `cannot normalise nothing`},
|
||
|
{``, `a`, `C:\a`, ``},
|
||
|
{``, `c:\foo`, `C:\foo`, ``},
|
||
|
{``, `\foo`, `C:\foo`, ``},
|
||
|
{``, `/foo`, `C:\foo`, ``},
|
||
|
{``, `C:/foo`, `C:\foo`, ``},
|
||
|
{`C:\foo`, `bar`, `C:\foo\bar`, ``},
|
||
|
{`C:\foo`, `/bar`, `C:\bar`, ``},
|
||
|
{`C:\foo`, `\bar`, `C:\bar`, ``},
|
||
|
}
|
||
|
for _, i := range tests {
|
||
|
r, e := normaliseWorkdir(i.current, i.requested)
|
||
|
|
||
|
if i.etext != "" && e == nil {
|
||
|
t.Fatalf("TestNormaliseWorkingDir Expected error %s", i.etext)
|
||
|
}
|
||
|
|
||
|
if i.etext != "" && e.Error() != i.etext {
|
||
|
t.Fatalf("TestNormaliseWorkingDir Expected error %s, got %s", i.etext, e.Error())
|
||
|
}
|
||
|
|
||
|
if r != i.expected {
|
||
|
t.Fatalf("TestNormaliseWorkingDir Expected %s for %s %s", i.expected, i.current, i.requested)
|
||
|
}
|
||
|
}
|
||
|
}
|