forked from mirror/pkger
paid to smile
This commit is contained in:
parent
c970541180
commit
9d7d315d44
|
@ -1,11 +1,13 @@
|
||||||
package memware
|
package memware
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/markbates/pkger/pkging"
|
"github.com/markbates/pkger/pkging"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// no such file or directory
|
||||||
func (fx *Warehouse) Create(name string) (pkging.File, error) {
|
func (fx *Warehouse) Create(name string) (pkging.File, error) {
|
||||||
pt, err := fx.Parse(name)
|
pt, err := fx.Parse(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -16,6 +18,10 @@ func (fx *Warehouse) Create(name string) (pkging.File, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if _, err := fx.Stat(filepath.Dir(pt.Name)); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
f := &File{
|
f := &File{
|
||||||
path: pt,
|
path: pt,
|
||||||
her: her,
|
her: her,
|
||||||
|
|
|
@ -128,6 +128,38 @@ func (s Suite) Test_Create(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s Suite) Test_Create_No_MkdirAll(t *testing.T) {
|
||||||
|
r := require.New(t)
|
||||||
|
cur, err := s.Current()
|
||||||
|
r.NoError(err)
|
||||||
|
|
||||||
|
ip := cur.ImportPath
|
||||||
|
table := []struct {
|
||||||
|
in string
|
||||||
|
}{
|
||||||
|
{in: mould},
|
||||||
|
{in: ":" + mould},
|
||||||
|
{in: ip + ":" + mould},
|
||||||
|
{in: filepath.Dir(mould)},
|
||||||
|
{in: ":" + filepath.Dir(mould)},
|
||||||
|
{in: ip + ":" + filepath.Dir(mould)},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range table {
|
||||||
|
t.Run(tt.in, func(st *testing.T) {
|
||||||
|
r := require.New(st)
|
||||||
|
|
||||||
|
pt, err := s.Parse(tt.in)
|
||||||
|
r.NoError(err)
|
||||||
|
|
||||||
|
r.NoError(s.RemoveAll(pt.String()))
|
||||||
|
|
||||||
|
_, err = s.Create(pt.Name)
|
||||||
|
r.Error(err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (s Suite) Test_Current(t *testing.T) {
|
func (s Suite) Test_Current(t *testing.T) {
|
||||||
r := require.New(t)
|
r := require.New(t)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue