Fix Marshal examples (#178)
* Fix Marshal examples * Move ExampleMarshal to doc test
This commit is contained in:
committed by
Thomas Pelletier
parent
69d355db53
commit
4692b8f9ba
+51
-4
@@ -1,13 +1,16 @@
|
|||||||
// code examples for godoc
|
// code examples for godoc
|
||||||
|
|
||||||
package toml
|
package toml_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
|
|
||||||
|
toml "github.com/pelletier/go-toml"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Example_tree() {
|
func Example_tree() {
|
||||||
config, err := LoadFile("config.toml")
|
config, err := toml.LoadFile("config.toml")
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error ", err.Error())
|
fmt.Println("Error ", err.Error())
|
||||||
@@ -17,7 +20,7 @@ func Example_tree() {
|
|||||||
password := config.Get("postgres.password").(string)
|
password := config.Get("postgres.password").(string)
|
||||||
|
|
||||||
// or using an intermediate object
|
// or using an intermediate object
|
||||||
configTree := config.Get("postgres").(*Tree)
|
configTree := config.Get("postgres").(*toml.Tree)
|
||||||
user = configTree.Get("user").(string)
|
user = configTree.Get("user").(string)
|
||||||
password = configTree.Get("password").(string)
|
password = configTree.Get("password").(string)
|
||||||
fmt.Println("User is", user, " and password is", password)
|
fmt.Println("User is", user, " and password is", password)
|
||||||
@@ -48,6 +51,50 @@ func Example_unmarshal() {
|
|||||||
`)
|
`)
|
||||||
|
|
||||||
person := Person{}
|
person := Person{}
|
||||||
Unmarshal(document, &person)
|
toml.Unmarshal(document, &person)
|
||||||
fmt.Println(person.Name, "is", person.Age, "and works at", person.Employer.Name)
|
fmt.Println(person.Name, "is", person.Age, "and works at", person.Employer.Name)
|
||||||
|
// Output:
|
||||||
|
// John is 30 and works at Company Inc.
|
||||||
|
}
|
||||||
|
|
||||||
|
func ExampleMarshal() {
|
||||||
|
type Postgres struct {
|
||||||
|
User string `toml:"user"`
|
||||||
|
Password string `toml:"password"`
|
||||||
|
}
|
||||||
|
type Config struct {
|
||||||
|
Postgres Postgres `toml:"postgres"`
|
||||||
|
}
|
||||||
|
|
||||||
|
config := Config{Postgres{User: "pelletier", Password: "mypassword"}}
|
||||||
|
b, err := toml.Marshal(config)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
fmt.Println(string(b))
|
||||||
|
// Output:
|
||||||
|
// [postgres]
|
||||||
|
// password = "mypassword"
|
||||||
|
// user = "pelletier"
|
||||||
|
}
|
||||||
|
|
||||||
|
func ExampleUnmarshal() {
|
||||||
|
type Postgres struct {
|
||||||
|
User string
|
||||||
|
Password string
|
||||||
|
}
|
||||||
|
type Config struct {
|
||||||
|
Postgres Postgres
|
||||||
|
}
|
||||||
|
|
||||||
|
doc := []byte(`
|
||||||
|
[postgres]
|
||||||
|
user = "pelletier"
|
||||||
|
password = "mypassword"`)
|
||||||
|
|
||||||
|
config := Config{}
|
||||||
|
toml.Unmarshal(doc, &config)
|
||||||
|
fmt.Println("user=", config.Postgres.User)
|
||||||
|
// Output:
|
||||||
|
// user= pelletier
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,25 +177,6 @@ func TestDocUnmarshal(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ExampleUnmarshal() {
|
|
||||||
type Postgres struct {
|
|
||||||
User string
|
|
||||||
Password string
|
|
||||||
}
|
|
||||||
type Config struct {
|
|
||||||
Postgres Postgres
|
|
||||||
}
|
|
||||||
|
|
||||||
doc := []byte(`
|
|
||||||
[postgres]
|
|
||||||
user = "pelletier"
|
|
||||||
password = "mypassword"`)
|
|
||||||
|
|
||||||
config := Config{}
|
|
||||||
Unmarshal(doc, &config)
|
|
||||||
fmt.Println("user=", config.Postgres.User)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestDocPartialUnmarshal(t *testing.T) {
|
func TestDocPartialUnmarshal(t *testing.T) {
|
||||||
result := testDocSubs{}
|
result := testDocSubs{}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user