diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2020-04-22 21:30:51 -0400 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2020-04-22 21:44:09 -0400 |
| commit | 55bea115b1b3891bf9f490dfebec79aaa29ccfa4 (patch) | |
| tree | 584bfe490832ba34c6ca758ceb493ef56315e374 /data/datasource_test.go | |
| parent | 46ceeee0b95fd12455020fe85bdd03cb5ccdf87c (diff) | |
Fix bug in file URL parsing
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'data/datasource_test.go')
| -rw-r--r-- | data/datasource_test.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/data/datasource_test.go b/data/datasource_test.go index 5d627b40..cdef3945 100644 --- a/data/datasource_test.go +++ b/data/datasource_test.go @@ -3,6 +3,8 @@ package data import ( "fmt" "net/url" + "os" + "path/filepath" "runtime" "strings" "testing" @@ -303,6 +305,15 @@ func TestDefineDatasource(t *testing.T) { assert.NoError(t, err) assert.Equal(t, "data", s.Alias) assert.Nil(t, s.URL) + + d = &Data{} + _, err = d.DefineDatasource("data", "/otherdir/foo?type=application/x-env") + s = d.Sources["data"] + assert.NoError(t, err) + assert.Equal(t, "data", s.Alias) + m, err := s.mimeType("") + assert.NoError(t, err) + assert.Equal(t, "application/x-env", m) } func TestMimeType(t *testing.T) { @@ -411,3 +422,36 @@ func TestQueryParse(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, expected, u) } + +func TestAbsFileURL(t *testing.T) { + cwd, _ := os.Getwd() + // make this pass on Windows + cwd = filepath.ToSlash(cwd) + expected := &url.URL{ + Scheme: "file", + Host: "", + Path: "/tmp/foo", + } + u, err := absFileURL("/tmp/foo") + assert.NoError(t, err) + assert.EqualValues(t, expected, u) + + expected = &url.URL{ + Scheme: "file", + Host: "", + Path: cwd + "/tmp/foo", + } + u, err = absFileURL("tmp/foo") + assert.NoError(t, err) + assert.EqualValues(t, expected, u) + + expected = &url.URL{ + Scheme: "file", + Host: "", + Path: cwd + "/tmp/foo", + RawQuery: "q=p", + } + u, err = absFileURL("tmp/foo?q=p") + assert.NoError(t, err) + assert.EqualValues(t, expected, u) +} |
