mirror of
https://gitee.com/johng/gf
synced 2026-06-06 16:21:40 +08:00
improve gres and add more unit test cases for gres
This commit is contained in:
@ -14,5 +14,5 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(t.Translate(`hello`))
|
||||
fmt.Println(t.Translate(`{#hello}}{#world}}!`))
|
||||
fmt.Println(t.Translate(`{#hello}{#world}!`))
|
||||
}
|
||||
|
||||
@ -14,5 +14,5 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(t.Translate(`hello`))
|
||||
fmt.Println(t.Translate(`{#hello}}{#world}}!`))
|
||||
fmt.Println(t.Translate(`{#hello}{#world}!`))
|
||||
}
|
||||
|
||||
@ -10,6 +10,6 @@ func main() {
|
||||
t := gi18n.New()
|
||||
t.SetLanguage("ja")
|
||||
fmt.Println(t.Translate(`hello`))
|
||||
fmt.Println(t.Translate(`{#hello}}{#world}}!`))
|
||||
fmt.Println(t.Translate(`{#hello}{#world}!`))
|
||||
|
||||
}
|
||||
|
||||
@ -16,5 +16,5 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(m.Translate(`hello`))
|
||||
fmt.Println(m.Translate(`{{hello}}{{world}}!`))
|
||||
fmt.Println(m.Translate(`{#hello}{#world}!`))
|
||||
}
|
||||
|
||||
@ -181,7 +181,7 @@ func (m *Manager) init() {
|
||||
m.data = make(map[string]map[string]string)
|
||||
for _, file := range files {
|
||||
path = file[len(m.options.Path)+1:]
|
||||
array = strings.Split(path, "/")
|
||||
array = strings.Split(path, gfile.Separator)
|
||||
if len(array) > 1 {
|
||||
lang = array[0]
|
||||
} else {
|
||||
|
||||
@ -130,6 +130,8 @@ func (r *Resource) IsEmpty() bool {
|
||||
// using the ',' symbol to separate multiple patterns.
|
||||
//
|
||||
// It scans directory recursively if given parameter <recursive> is true.
|
||||
//
|
||||
// Note that the returned files does not contain given parameter <path>.
|
||||
func (r *Resource) ScanDir(path string, pattern string, recursive ...bool) []*File {
|
||||
isRecursive := false
|
||||
if len(recursive) > 0 {
|
||||
|
||||
141
os/gres/gres_unit_2_test.go
Normal file
141
os/gres/gres_unit_2_test.go
Normal file
@ -0,0 +1,141 @@
|
||||
// Copyright 2019 gf Author(https://github.com/gogf/gf). All Rights Reserved.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the MIT License.
|
||||
// If a copy of the MIT was not distributed with this file,
|
||||
// You can obtain one at https://github.com/gogf/gf.
|
||||
|
||||
package gres_test
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/test/gtest"
|
||||
"testing"
|
||||
|
||||
"github.com/gogf/gf/os/gres"
|
||||
_ "github.com/gogf/gf/os/gres/testdata"
|
||||
)
|
||||
|
||||
func Test_Basic(t *testing.T) {
|
||||
gres.Dump()
|
||||
gtest.Case(t, func() {
|
||||
gtest.Assert(gres.Get("/none"), nil)
|
||||
gtest.Assert(gres.Contains("/none"), false)
|
||||
gtest.Assert(gres.Contains("/dir1"), true)
|
||||
})
|
||||
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir1/test1"
|
||||
file := gres.Get(path)
|
||||
gtest.AssertNE(file, nil)
|
||||
gtest.Assert(file.Name(), path)
|
||||
|
||||
info := file.FileInfo()
|
||||
gtest.AssertNE(info, nil)
|
||||
gtest.Assert(info.IsDir(), false)
|
||||
gtest.Assert(info.Name(), "test1")
|
||||
|
||||
rc, err := file.Open()
|
||||
gtest.Assert(err, nil)
|
||||
defer rc.Close()
|
||||
|
||||
b := make([]byte, 5)
|
||||
n, err := rc.Read(b)
|
||||
gtest.Assert(n, 5)
|
||||
gtest.Assert(err, nil)
|
||||
gtest.Assert(string(b), "test1")
|
||||
|
||||
gtest.Assert(file.Content(), "test1 content")
|
||||
})
|
||||
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir2"
|
||||
file := gres.Get(path)
|
||||
gtest.AssertNE(file, nil)
|
||||
gtest.Assert(file.Name(), path)
|
||||
|
||||
info := file.FileInfo()
|
||||
gtest.AssertNE(info, nil)
|
||||
gtest.Assert(info.IsDir(), true)
|
||||
gtest.Assert(info.Name(), "dir2")
|
||||
|
||||
rc, err := file.Open()
|
||||
gtest.Assert(err, nil)
|
||||
defer rc.Close()
|
||||
|
||||
gtest.Assert(file.Content(), nil)
|
||||
})
|
||||
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir2/test2"
|
||||
file := gres.Get(path)
|
||||
gtest.AssertNE(file, nil)
|
||||
gtest.Assert(file.Name(), path)
|
||||
gtest.Assert(file.Content(), "test2 content")
|
||||
})
|
||||
}
|
||||
|
||||
func Test_Get(t *testing.T) {
|
||||
gres.Dump()
|
||||
gtest.Case(t, func() {
|
||||
gtest.AssertNE(gres.Get("/dir1/test1"), nil)
|
||||
})
|
||||
gtest.Case(t, func() {
|
||||
file := gres.GetWithIndex("/dir1", g.SliceStr{"test1"})
|
||||
gtest.AssertNE(file, nil)
|
||||
gtest.Assert(file.Name(), "/dir1/test1")
|
||||
})
|
||||
gtest.Case(t, func() {
|
||||
gtest.Assert(gres.GetContent("/dir1"), "")
|
||||
gtest.Assert(gres.GetContent("/dir1/test1"), "test1 content")
|
||||
})
|
||||
}
|
||||
|
||||
func Test_ScanDir(t *testing.T) {
|
||||
gres.Dump()
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir1"
|
||||
files := gres.ScanDir(path, "*", false)
|
||||
gtest.AssertNE(files, nil)
|
||||
gtest.Assert(len(files), 2)
|
||||
})
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir1"
|
||||
files := gres.ScanDir(path, "*", true)
|
||||
gtest.AssertNE(files, nil)
|
||||
gtest.Assert(len(files), 3)
|
||||
})
|
||||
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir1"
|
||||
files := gres.ScanDir(path, "*.*", true)
|
||||
gtest.AssertNE(files, nil)
|
||||
gtest.Assert(len(files), 1)
|
||||
gtest.Assert(files[0].Name(), "/dir1/sub/sub-test1.txt")
|
||||
gtest.Assert(files[0].Content(), "sub-test1 content")
|
||||
})
|
||||
}
|
||||
|
||||
func Test_ScanDirFile(t *testing.T) {
|
||||
gres.Dump()
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir2"
|
||||
files := gres.ScanDirFile(path, "*", false)
|
||||
gtest.AssertNE(files, nil)
|
||||
gtest.Assert(len(files), 1)
|
||||
})
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir2"
|
||||
files := gres.ScanDirFile(path, "*", true)
|
||||
gtest.AssertNE(files, nil)
|
||||
gtest.Assert(len(files), 2)
|
||||
})
|
||||
|
||||
gtest.Case(t, func() {
|
||||
path := "/dir2"
|
||||
files := gres.ScanDirFile(path, "*.*", true)
|
||||
gtest.AssertNE(files, nil)
|
||||
gtest.Assert(len(files), 1)
|
||||
gtest.Assert(files[0].Name(), "/dir2/sub/sub-test2.txt")
|
||||
gtest.Assert(files[0].Content(), "sub-test2 content")
|
||||
})
|
||||
}
|
||||
1
os/gres/testdata/files/dir1/sub/sub-test1.txt
vendored
Normal file
1
os/gres/testdata/files/dir1/sub/sub-test1.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
sub-test1 content
|
||||
2
os/gres/testdata/files/dir1/test1
vendored
2
os/gres/testdata/files/dir1/test1
vendored
@ -1 +1 @@
|
||||
test1 content
|
||||
test1 content
|
||||
1
os/gres/testdata/files/dir2/sub/sub-test2.txt
vendored
Normal file
1
os/gres/testdata/files/dir2/sub/sub-test2.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
sub-test2 content
|
||||
2
os/gres/testdata/files/dir2/test2
vendored
2
os/gres/testdata/files/dir2/test2
vendored
@ -1 +1 @@
|
||||
test2 content
|
||||
test2 content
|
||||
2
os/gres/testdata/testdata.go
vendored
2
os/gres/testdata/testdata.go
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user