2019-08-01 19:03:12 +03:00
|
|
|
package parser
|
|
|
|
|
|
|
|
import (
|
2019-08-09 04:51:58 +03:00
|
|
|
"os"
|
2019-08-30 00:05:44 +03:00
|
|
|
"path/filepath"
|
2019-08-02 00:35:42 +03:00
|
|
|
"sort"
|
2019-08-01 19:03:12 +03:00
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
func Test_Parser(t *testing.T) {
|
|
|
|
r := require.New(t)
|
2019-08-09 04:51:58 +03:00
|
|
|
pwd, err := os.Getwd()
|
|
|
|
r.NoError(err)
|
2019-08-30 05:40:22 +03:00
|
|
|
r.NoError(os.Chdir(filepath.Join("..", "examples", "app")))
|
2019-08-09 04:51:58 +03:00
|
|
|
defer os.Chdir(pwd)
|
2019-08-01 19:03:12 +03:00
|
|
|
|
2019-08-09 04:51:58 +03:00
|
|
|
res, err := Parse("")
|
2019-08-02 00:35:42 +03:00
|
|
|
|
2019-08-01 19:03:12 +03:00
|
|
|
r.NoError(err)
|
|
|
|
|
2019-08-09 04:51:58 +03:00
|
|
|
exp := []string{
|
2019-08-30 05:40:22 +03:00
|
|
|
"github.com/markbates/pkger/examples/app:/",
|
|
|
|
"github.com/markbates/pkger/examples/app:/public",
|
|
|
|
"github.com/markbates/pkger/examples/app:/templates",
|
|
|
|
"github.com/markbates/pkger/examples/app:/templates/a.txt",
|
|
|
|
"github.com/markbates/pkger/examples/app:/templates/b",
|
|
|
|
"github.com/markbates/pkger/examples/app:/public/images/mark-small.png",
|
|
|
|
"github.com/markbates/pkger/examples/app:/public/images",
|
|
|
|
"github.com/markbates/pkger/examples/app:/public/images/mark.png",
|
|
|
|
"github.com/markbates/pkger/examples/app:/public/images/mark_250px.png",
|
|
|
|
"github.com/markbates/pkger/examples/app:/public/images/mark_400px.png",
|
|
|
|
"github.com/markbates/pkger/examples/app:/public/index.html",
|
2019-08-09 04:51:58 +03:00
|
|
|
}
|
2019-08-02 00:35:42 +03:00
|
|
|
sort.Strings(exp)
|
|
|
|
|
|
|
|
act := make([]string, len(res.Paths))
|
|
|
|
for i := 0; i < len(res.Paths); i++ {
|
|
|
|
act[i] = res.Paths[i].String()
|
|
|
|
}
|
|
|
|
|
|
|
|
sort.Strings(act)
|
|
|
|
r.Equal(exp, act)
|
2019-08-01 19:03:12 +03:00
|
|
|
}
|