gf/os/gfile/gfile_z_unit_size_test.go
2021-11-17 23:20:58 +08:00

103 lines
2.7 KiB
Go

// Copyright GoFrame Author(https://goframe.org). 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 gfile_test
import (
"testing"
"github.com/gogf/gf/v2/os/gfile"
"github.com/gogf/gf/v2/test/gtest"
"github.com/gogf/gf/v2/util/gconv"
)
func Test_Size(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
var (
paths1 string = "/testfile_t1.txt"
sizes int64
)
createTestFile(paths1, "abcdefghijklmn")
defer delTestFiles(paths1)
sizes = gfile.Size(testpath() + paths1)
t.Assert(sizes, 14)
sizes = gfile.Size("")
t.Assert(sizes, 0)
})
}
func Test_SizeFormat(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
var (
paths1 = "/testfile_t1.txt"
sizes string
)
createTestFile(paths1, "abcdefghijklmn")
defer delTestFiles(paths1)
sizes = gfile.SizeFormat(testpath() + paths1)
t.Assert(sizes, "14.00B")
sizes = gfile.SizeFormat("")
t.Assert(sizes, "0.00B")
})
}
func Test_StrToSize(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gfile.StrToSize("0.00B"), 0)
t.Assert(gfile.StrToSize("16.00B"), 16)
t.Assert(gfile.StrToSize("1.00K"), 1024)
t.Assert(gfile.StrToSize("1.00KB"), 1024)
t.Assert(gfile.StrToSize("1.00KiloByte"), 1024)
t.Assert(gfile.StrToSize("15.26M"), gconv.Int64(15.26*1024*1024))
t.Assert(gfile.StrToSize("15.26MB"), gconv.Int64(15.26*1024*1024))
t.Assert(gfile.StrToSize("1.49G"), gconv.Int64(1.49*1024*1024*1024))
t.Assert(gfile.StrToSize("1.49GB"), gconv.Int64(1.49*1024*1024*1024))
t.Assert(gfile.StrToSize("8.73T"), gconv.Int64(8.73*1024*1024*1024*1024))
t.Assert(gfile.StrToSize("8.73TB"), gconv.Int64(8.73*1024*1024*1024*1024))
t.Assert(gfile.StrToSize("8.53P"), gconv.Int64(8.53*1024*1024*1024*1024*1024))
t.Assert(gfile.StrToSize("8.53PB"), gconv.Int64(8.53*1024*1024*1024*1024*1024))
t.Assert(gfile.StrToSize("8.01EB"), gconv.Int64(8.01*1024*1024*1024*1024*1024*1024))
})
}
func Test_FormatSize(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gfile.FormatSize(0), "0.00B")
t.Assert(gfile.FormatSize(16), "16.00B")
t.Assert(gfile.FormatSize(1024), "1.00K")
t.Assert(gfile.FormatSize(16000000), "15.26M")
t.Assert(gfile.FormatSize(1600000000), "1.49G")
t.Assert(gfile.FormatSize(9600000000000), "8.73T")
t.Assert(gfile.FormatSize(9600000000000000), "8.53P")
})
}
func Test_ReadableSize(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
var (
paths1 string = "/testfile_t1.txt"
)
createTestFile(paths1, "abcdefghijklmn")
defer delTestFiles(paths1)
t.Assert(gfile.ReadableSize(testpath()+paths1), "14.00B")
t.Assert(gfile.ReadableSize(""), "0.00B")
})
}