You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
starainrt/ini_test.go

90 lines
1.6 KiB
Go

package starainrt
import (
"fmt"
"testing"
)
func Test_CfgParse(t *testing.T) {
data := `#lalala
ok =true\# #ok
[happy] #ok
#kkk
me = \=tru
sa = p\\k
migrate = ok #oooo
[siki]
sakurs = ssss #[ossk]`
//data, _ := ioutil.ReadFile(`c:\Users\Starainrt\Desktop\postgresql.conf`)
ini := new(StarCfg)
ini.Parse([]byte(data))
ini.Seg("happy").SetInt64("sakura", 986787, "")
fmt.Println(string(ini.Build()))
}
type Ntest struct {
N string `seg:"happy" key:"me"`
}
type Testsss struct {
Okk string `seg:"unnamed" key:"ok"`
Migrate string `seg:"happy" key:"migrate" comment:"whnb"`
Ntest
}
func Test_CfgParseStruct(t *testing.T) {
data := `#lalala
ok =true\# #ok
[happy] #ok
#kkk
me = \=tru
sa = p\\k
migrate = ok #oooo
[siki]
sakurs = ssss #[ossk]`
//data, _ := ioutil.ReadFile(`c:\Users\Starainrt\Desktop\postgresql.conf`)
okk := Testsss{}
ini := new(StarCfg)
ini.Parse([]byte(data))
//fmt.Println(ini.Seg("happy").Get("migrate"))
fmt.Println(ini.Unmarshal(&okk))
fmt.Println(okk)
}
func Test_DeleteAdd(t *testing.T) {
data := `[A]
a=1
b=2
c=3
[B]
a=1
b=2
c=3
[C]
a=1
b=2
c=3
`
ini := new(StarCfg)
ini.Parse([]byte(data))
fmt.Println(ini.Seg("A").Int("a"))
fmt.Println(ini.Seg("A").Int("b"))
fmt.Println(ini.Seg("B").Int("c"))
fmt.Println("-----------------------")
ini.Seg("A").Set("d", "4", "")
ini.DeleteSeg("B")
ini.AddSeg("D")
ini.AddSeg("E").SetInt("a", 1, "")
ini.Seg("C").Delete("a")
fmt.Println(string(ini.Build()))
}
func Test_Marshal(t *testing.T) {
var a Testsss
a.Migrate = "1"
a.N = "2"
a.Okk = "okkkkk"
ini := StarCfg{}
data, err := ini.Marshal(a)
fmt.Println(string(data), err)
}