jx/internal/folio/uri_test.go
Matthew Rich 1b0cd57284
Some checks failed
Lint / golangci-lint (push) Failing after 10m3s
Declarative Tests / test (push) Failing after 19s
add URI.FindIn(SearchPath) to resolve relative paths
2025-07-25 07:08:40 +00:00

50 lines
1.3 KiB
Go

// Copyright 2024 Matthew Rich <matthewrich.conf@gmail.com>. All rights reserved.
package folio
import (
"github.com/stretchr/testify/assert"
"testing"
"fmt"
)
func TestURI(t *testing.T) {
var file URI = URI(fmt.Sprintf("file://%s", TempDir))
u := file.Parse().URL()
assert.Equal(t, "file", u.Scheme)
assert.True(t, file.Exists())
file = URI(fmt.Sprintf("0file:_/%s", TempDir))
x := file.Parse()
assert.Nil(t, x)
}
func TestURISetURL(t *testing.T) {
var file URI = URI(fmt.Sprintf("file://%s", TempDir))
u := file.Parse().URL()
var fileFromURL URI
fileFromURL.SetURL(u)
assert.Equal(t, fileFromURL, file)
exttype, ext := file.Extension()
assert.Equal(t, "", exttype)
assert.Equal(t, "", ext)
}
func TestURINewResource(t *testing.T) {
var file URI = URI(fmt.Sprintf("foo://%s", TempDir))
resource, err := file.NewResource(nil)
assert.Nil(t, err)
assert.NotNil(t, resource)
}
func TestURIFindIn(t *testing.T) {
searchPath := NewSearchPath(ConfigKey("system.importpath").GetStringSlice())
assert.Nil(t, searchPath.AddPath(string(TempDir)))
assert.Nil(t, TempDir.CreateFile("bar", "testdata"))
var file URI = "file://bar"
file.FindIn(searchPath)
assert.True(t, file.Exists())
assert.Equal(t, string(file), fmt.Sprintf("file://%s/bar", TempDir))
}