aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/memfs/embed_test.go38
-rw-r--r--lib/memfs/internal/test/embed/embed_test.go385
-rw-r--r--lib/memfs/internal/test/embed/memfs_embed_test.go142
3 files changed, 6 insertions, 559 deletions
diff --git a/lib/memfs/embed_test.go b/lib/memfs/embed_test.go
index 99a7e8f6..4c414c9d 100644
--- a/lib/memfs/embed_test.go
+++ b/lib/memfs/embed_test.go
@@ -1,39 +1,13 @@
-// Copyright 2019, Shulhan <ms@kilabit.info>. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: 2019 M. Shulhan <ms@kilabit.info>
+// SPDX-License-Identifier: BSD-3-Clause
package memfs
-import "testing"
+import (
+ "testing"
+)
-func TestMemFS_GoEmbed(t *testing.T) {
- opts := &Options{
- Root: "testdata",
- Excludes: []string{
- `^\..*`,
- ".*/node_save$",
- },
- Embed: EmbedOptions{
- CommentHeader: `// SPDX-FileCopyrightText: 2022 Shulhan <ms@kilabit.info>
-// SPDX-License-Identifier: AGPL-3.0-or-later
-`,
- PackageName: "embed",
- GoFileName: "./internal/test/embed/embed_test.go",
- },
- }
-
- mfs, err := New(opts)
- if err != nil {
- t.Fatal(err)
- }
-
- err = mfs.GoEmbed()
- if err != nil {
- t.Fatal(err)
- }
-}
-
-func TestMemFS_GoEmbed_DisableModTime(t *testing.T) {
+func TestMemFS_GoEmbed_WithoutModTime(t *testing.T) {
opts := &Options{
Root: "testdata",
Excludes: []string{
diff --git a/lib/memfs/internal/test/embed/embed_test.go b/lib/memfs/internal/test/embed/embed_test.go
deleted file mode 100644
index 06b16d3a..00000000
--- a/lib/memfs/internal/test/embed/embed_test.go
+++ /dev/null
@@ -1,385 +0,0 @@
-// SPDX-FileCopyrightText: 2022 Shulhan <ms@kilabit.info>
-// SPDX-License-Identifier: AGPL-3.0-or-later
-// Code generated by git.sr.ht/~shulhan/pakakeh.go/lib/memfs DO NOT EDIT.
-
-package embed
-
-import (
- "git.sr.ht/~shulhan/pakakeh.go/lib/memfs"
-)
-
-func generate_testdata() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata",
- Path: "/",
- ContentType: "",
- GenFuncName: "generate_testdata",
- }
- node.SetMode(0o20000000755)
- node.SetModTimeUnix(1699901114, 455911441)
- node.SetName("/")
- node.SetSize(0)
- node.AddChild(_memFS_getNode(memFS, "/direct", generate_testdata_direct))
- node.AddChild(_memFS_getNode(memFS, "/exclude", generate_testdata_exclude))
- node.AddChild(_memFS_getNode(memFS, "/include", generate_testdata_include))
- node.AddChild(_memFS_getNode(memFS, "/index.css", generate_testdata_index_css))
- node.AddChild(_memFS_getNode(memFS, "/index.html", generate_testdata_index_html))
- node.AddChild(_memFS_getNode(memFS, "/index.js", generate_testdata_index_js))
- node.AddChild(_memFS_getNode(memFS, "/plain", generate_testdata_plain))
- return node
-}
-
-func generate_testdata_direct() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/direct",
- Path: "/direct",
- ContentType: "",
- GenFuncName: "generate_testdata_direct",
- }
- node.SetMode(0o20000000755)
- node.SetModTimeUnix(1569586540, 0)
- node.SetName("direct")
- node.SetSize(0)
- node.AddChild(_memFS_getNode(memFS, "/direct/add", generate_testdata_direct_add))
- return node
-}
-
-func generate_testdata_direct_add() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/direct/add",
- Path: "/direct/add",
- ContentType: "",
- GenFuncName: "generate_testdata_direct_add",
- }
- node.SetMode(0o20000000755)
- node.SetModTimeUnix(1569586540, 0)
- node.SetName("add")
- node.SetSize(0)
- node.AddChild(_memFS_getNode(memFS, "/direct/add/file", generate_testdata_direct_add_file))
- node.AddChild(_memFS_getNode(memFS, "/direct/add/file2", generate_testdata_direct_add_file2))
- return node
-}
-
-func generate_testdata_direct_add_file() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/direct/add/file",
- Path: "/direct/add/file",
- ContentType: "text/plain; charset=utf-8",
- GenFuncName: "generate_testdata_direct_add_file",
- Content: []byte("\x54\x65\x73\x74\x20\x64\x69\x72\x65\x63\x74\x20\x61\x64\x64\x20\x66\x69\x6C\x65\x2E\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1569586540, 0)
- node.SetName("file")
- node.SetSize(22)
- return node
-}
-
-func generate_testdata_direct_add_file2() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/direct/add/file2",
- Path: "/direct/add/file2",
- ContentType: "text/plain; charset=utf-8",
- GenFuncName: "generate_testdata_direct_add_file2",
- Content: []byte("\x54\x65\x73\x74\x20\x64\x69\x72\x65\x63\x74\x20\x61\x64\x64\x20\x66\x69\x6C\x65\x20\x32\x2E\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1569586540, 0)
- node.SetName("file2")
- node.SetSize(24)
- return node
-}
-
-func generate_testdata_exclude() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/exclude",
- Path: "/exclude",
- ContentType: "",
- GenFuncName: "generate_testdata_exclude",
- }
- node.SetMode(0o20000000755)
- node.SetModTimeUnix(1633792794, 467899662)
- node.SetName("exclude")
- node.SetSize(0)
- node.AddChild(_memFS_getNode(memFS, "/exclude/dir", generate_testdata_exclude_dir))
- node.AddChild(_memFS_getNode(memFS, "/exclude/index-link.css", generate_testdata_exclude_index_link_css))
- node.AddChild(_memFS_getNode(memFS, "/exclude/index-link.html", generate_testdata_exclude_index_link_html))
- node.AddChild(_memFS_getNode(memFS, "/exclude/index-link.js", generate_testdata_exclude_index_link_js))
- return node
-}
-
-func generate_testdata_exclude_dir() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/exclude/dir",
- Path: "/exclude/dir",
- ContentType: "",
- GenFuncName: "generate_testdata_exclude_dir",
- }
- node.SetMode(0o20000000700)
- node.SetModTimeUnix(1629620045, 798024232)
- node.SetName("dir")
- node.SetSize(0)
- return node
-}
-
-func generate_testdata_exclude_index_link_css() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/exclude/index-link.css",
- Path: "/exclude/index-link.css",
- ContentType: "text/css; charset=utf-8",
- GenFuncName: "generate_testdata_exclude_index_link_css",
- Content: []byte("\x62\x6F\x64\x79\x20\x7B\x0A\x7D\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1562038157, 0)
- node.SetName("index-link.css")
- node.SetSize(9)
- return node
-}
-
-func generate_testdata_exclude_index_link_html() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/exclude/index-link.html",
- Path: "/exclude/index-link.html",
- ContentType: "text/html; charset=utf-8",
- GenFuncName: "generate_testdata_exclude_index_link_html",
- Content: []byte("\x3C\x68\x74\x6D\x6C\x3E\x3C\x2F\x68\x74\x6D\x6C\x3E\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1588592347, 0)
- node.SetName("index-link.html")
- node.SetSize(14)
- return node
-}
-
-func generate_testdata_exclude_index_link_js() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/exclude/index-link.js",
- Path: "/exclude/index-link.js",
- ContentType: "text/javascript; charset=utf-8",
- GenFuncName: "generate_testdata_exclude_index_link_js",
- Content: []byte("\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x58\x28\x29\x20\x7B\x7D\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1562038157, 0)
- node.SetName("index-link.js")
- node.SetSize(16)
- return node
-}
-
-func generate_testdata_include() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/include",
- Path: "/include",
- ContentType: "",
- GenFuncName: "generate_testdata_include",
- }
- node.SetMode(0o20000000755)
- node.SetModTimeUnix(1629623653, 749800911)
- node.SetName("include")
- node.SetSize(0)
- node.AddChild(_memFS_getNode(memFS, "/include/dir", generate_testdata_include_dir))
- node.AddChild(_memFS_getNode(memFS, "/include/index.css", generate_testdata_include_index_css))
- node.AddChild(_memFS_getNode(memFS, "/include/index.html", generate_testdata_include_index_html))
- node.AddChild(_memFS_getNode(memFS, "/include/index.js", generate_testdata_include_index_js))
- return node
-}
-
-func generate_testdata_include_dir() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/include/dir",
- Path: "/include/dir",
- ContentType: "",
- GenFuncName: "generate_testdata_include_dir",
- }
- node.SetMode(0o20000000700)
- node.SetModTimeUnix(1564836597, 0)
- node.SetName("dir")
- node.SetSize(0)
- return node
-}
-
-func generate_testdata_include_index_css() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/include/index.css",
- Path: "/include/index.css",
- ContentType: "text/css; charset=utf-8",
- GenFuncName: "generate_testdata_include_index_css",
- Content: []byte("\x62\x6F\x64\x79\x20\x7B\x0A\x7D\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1562038157, 0)
- node.SetName("index.css")
- node.SetSize(9)
- return node
-}
-
-func generate_testdata_include_index_html() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/include/index.html",
- Path: "/include/index.html",
- ContentType: "text/html; charset=utf-8",
- GenFuncName: "generate_testdata_include_index_html",
- Content: []byte("\x3C\x68\x74\x6D\x6C\x3E\x3C\x2F\x68\x74\x6D\x6C\x3E\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1588592347, 0)
- node.SetName("index.html")
- node.SetSize(14)
- return node
-}
-
-func generate_testdata_include_index_js() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/include/index.js",
- Path: "/include/index.js",
- ContentType: "text/javascript; charset=utf-8",
- GenFuncName: "generate_testdata_include_index_js",
- Content: []byte("\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x58\x28\x29\x20\x7B\x7D\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1562038157, 0)
- node.SetName("index.js")
- node.SetSize(16)
- return node
-}
-
-func generate_testdata_index_css() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/index.css",
- Path: "/index.css",
- ContentType: "text/css; charset=utf-8",
- GenFuncName: "generate_testdata_index_css",
- Content: []byte("\x62\x6F\x64\x79\x20\x7B\x0A\x7D\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1562038157, 0)
- node.SetName("index.css")
- node.SetSize(9)
- return node
-}
-
-func generate_testdata_index_html() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/index.html",
- Path: "/index.html",
- ContentType: "text/html; charset=utf-8",
- GenFuncName: "generate_testdata_index_html",
- Content: []byte("\x3C\x68\x74\x6D\x6C\x3E\x3C\x2F\x68\x74\x6D\x6C\x3E\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1588592347, 0)
- node.SetName("index.html")
- node.SetSize(14)
- return node
-}
-
-func generate_testdata_index_js() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/index.js",
- Path: "/index.js",
- ContentType: "text/javascript; charset=utf-8",
- GenFuncName: "generate_testdata_index_js",
- Content: []byte("\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x58\x28\x29\x20\x7B\x7D\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1562038157, 0)
- node.SetName("index.js")
- node.SetSize(16)
- return node
-}
-
-func generate_testdata_plain() *memfs.Node {
- var node = &memfs.Node{
- SysPath: "testdata/plain",
- Path: "/plain",
- ContentType: "text/plain; charset=utf-8",
- GenFuncName: "generate_testdata_plain",
- Content: []byte("\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20\x70\x6C\x61\x69\x6E\x20\x74\x65\x78\x74\x2E\x0A"),
- }
- node.SetMode(0o644)
- node.SetModTimeUnix(1562038157, 0)
- node.SetName("plain")
- node.SetSize(22)
- return node
-}
-
-// _memFS_getNode is internal function to minimize duplicate node
-// created on Node.AddChild() and on generatedPathNode.Set().
-func _memFS_getNode(mfs *memfs.MemFS, path string, fn func() *memfs.Node) (node *memfs.Node) {
- node = mfs.PathNodes.Get(path)
- if node != nil {
- return node
- }
- return fn()
-}
-
-func init() {
- memFS = &memfs.MemFS{
- PathNodes: memfs.NewPathNode(),
- Opts: &memfs.Options{
- Root: "testdata",
- MaxFileSize: 5242880,
- Includes: []string{
- },
- Excludes: []string{
- `^\..*`,
- `.*/node_save$`,
- },
- Embed: memfs.EmbedOptions{
- CommentHeader: `// SPDX-FileCopyrightText: 2022 Shulhan <ms@kilabit.info>
-// SPDX-License-Identifier: AGPL-3.0-or-later
-`,
- PackageName: "embed",
- VarName: "memFS",
- GoFileName: "./internal/test/embed/embed_test.go",
- WithoutModTime: false,
- },
- },
- }
- memFS.PathNodes.Set("/",
- _memFS_getNode(memFS, "/", generate_testdata))
- memFS.PathNodes.Set("/direct",
- _memFS_getNode(memFS, "/direct", generate_testdata_direct))
- memFS.PathNodes.Set("/direct/add",
- _memFS_getNode(memFS, "/direct/add", generate_testdata_direct_add))
- memFS.PathNodes.Set("/direct/add/file",
- _memFS_getNode(memFS, "/direct/add/file", generate_testdata_direct_add_file))
- memFS.PathNodes.Set("/direct/add/file2",
- _memFS_getNode(memFS, "/direct/add/file2", generate_testdata_direct_add_file2))
- memFS.PathNodes.Set("/exclude",
- _memFS_getNode(memFS, "/exclude", generate_testdata_exclude))
- memFS.PathNodes.Set("/exclude/dir",
- _memFS_getNode(memFS, "/exclude/dir", generate_testdata_exclude_dir))
- memFS.PathNodes.Set("/exclude/index-link.css",
- _memFS_getNode(memFS, "/exclude/index-link.css", generate_testdata_exclude_index_link_css))
- memFS.PathNodes.Set("/exclude/index-link.html",
- _memFS_getNode(memFS, "/exclude/index-link.html", generate_testdata_exclude_index_link_html))
- memFS.PathNodes.Set("/exclude/index-link.js",
- _memFS_getNode(memFS, "/exclude/index-link.js", generate_testdata_exclude_index_link_js))
- memFS.PathNodes.Set("/include",
- _memFS_getNode(memFS, "/include", generate_testdata_include))
- memFS.PathNodes.Set("/include/dir",
- _memFS_getNode(memFS, "/include/dir", generate_testdata_include_dir))
- memFS.PathNodes.Set("/include/index.css",
- _memFS_getNode(memFS, "/include/index.css", generate_testdata_include_index_css))
- memFS.PathNodes.Set("/include/index.html",
- _memFS_getNode(memFS, "/include/index.html", generate_testdata_include_index_html))
- memFS.PathNodes.Set("/include/index.js",
- _memFS_getNode(memFS, "/include/index.js", generate_testdata_include_index_js))
- memFS.PathNodes.Set("/index.css",
- _memFS_getNode(memFS, "/index.css", generate_testdata_index_css))
- memFS.PathNodes.Set("/index.html",
- _memFS_getNode(memFS, "/index.html", generate_testdata_index_html))
- memFS.PathNodes.Set("/index.js",
- _memFS_getNode(memFS, "/index.js", generate_testdata_index_js))
- memFS.PathNodes.Set("/plain",
- _memFS_getNode(memFS, "/plain", generate_testdata_plain))
-
- memFS.Root = memFS.PathNodes.Get("/")
-
- var err = memFS.Init()
- if err != nil {
- panic("memFS: " + err.Error())
- }
-}
diff --git a/lib/memfs/internal/test/embed/memfs_embed_test.go b/lib/memfs/internal/test/embed/memfs_embed_test.go
deleted file mode 100644
index 738236ee..00000000
--- a/lib/memfs/internal/test/embed/memfs_embed_test.go
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright 2019, Shulhan <ms@kilabit.info>. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package embed
-
-import (
- "path/filepath"
- "sort"
- "testing"
- "time"
-
- "git.sr.ht/~shulhan/pakakeh.go/lib/memfs"
- "git.sr.ht/~shulhan/pakakeh.go/lib/test"
-)
-
-var memFS *memfs.MemFS
-
-func TestGeneratePathNode(t *testing.T) {
- zeroTime := time.Time{}
-
- expRoot := &memfs.Node{
- SysPath: "testdata",
- Path: "/",
- GenFuncName: "generate_testdata",
- }
- expRoot.SetMode(2147484141)
- expRoot.SetName("/")
- expRoot.SetSize(0)
-
- expExcludeIndexHTML := &memfs.Node{
- SysPath: filepath.Join("testdata", "exclude", "index-link.html"),
- Path: "/exclude/index-link.html",
- ContentType: "text/html; charset=utf-8",
- Content: []byte("<html></html>\n"),
- GenFuncName: "generate_testdata_exclude_index_link_html",
- }
-
- expExcludeIndexHTML.SetMode(0644)
- expExcludeIndexHTML.SetName("index-link.html")
- expExcludeIndexHTML.SetSize(14)
-
- cases := []struct {
- path string
- exp *memfs.Node
- expError string
- }{{
- path: "/gen_test.go",
- expError: `Get "/gen_test.go": file does not exist`,
- }, {
- path: "/",
- exp: expRoot,
- }, {
- path: "/exclude/index-link.html",
- exp: expExcludeIndexHTML,
- }}
-
- for _, c := range cases {
- t.Log(c.path)
-
- got, err := memFS.Get(c.path)
- if err != nil {
- test.Assert(t, "error", c.expError, err.Error())
- continue
- }
-
- childs := got.Childs
- got.Childs = nil
- got.SetModTime(zeroTime)
- test.Assert(t, "Node", c.exp, got)
- got.Childs = childs
- }
-}
-
-func TestNode_Readdir(t *testing.T) {
- cases := []struct {
- path string
- exp []string
- }{{
- path: "/",
- exp: []string{
- "direct",
- "exclude",
- "include",
- "index.css",
- "index.html",
- "index.js",
- "plain",
- },
- }, {
- path: "/direct",
- exp: []string{
- "add",
- },
- }, {
- path: "/direct/add",
- exp: []string{
- "file",
- "file2",
- },
- }, {
- path: "/exclude",
- exp: []string{
- "dir",
- "index-link.css",
- "index-link.html",
- "index-link.js",
- },
- }, {
- path: "/include",
- exp: []string{
- "dir",
- "index.css",
- "index.html",
- "index.js",
- },
- }}
-
- for _, c := range cases {
- t.Log(c.path)
-
- file, err := memFS.Open(c.path)
- if err != nil {
- t.Fatal(err)
- }
-
- fis, err := file.Readdir(0)
- if err != nil {
- t.Fatal(err)
- }
-
- got := make([]string, 0, len(fis))
-
- for _, fi := range fis {
- got = append(got, fi.Name())
- }
-
- sort.Strings(got)
-
- test.Assert(t, "Node.Readdir", c.exp, got)
- }
-}