...

Source file src/github.com/sethvargo/go-password/password/password_doc_test.go

Documentation: github.com/sethvargo/go-password/password

     1  package password_test
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  
     7  	"github.com/sethvargo/go-password/password"
     8  )
     9  
    10  func ExampleGenerate() {
    11  	res, err := password.Generate(64, 10, 10, false, false)
    12  	if err != nil {
    13  		log.Fatal(err)
    14  	}
    15  	log.Print(res)
    16  }
    17  
    18  func ExampleMustGenerate() {
    19  	// Will panic on error
    20  	res := password.MustGenerate(64, 10, 10, false, false)
    21  	log.Print(res)
    22  }
    23  
    24  func ExampleGenerator_Generate() {
    25  	gen, err := password.NewGenerator(nil)
    26  	if err != nil {
    27  		log.Fatal(err)
    28  	}
    29  
    30  	res, err := gen.Generate(64, 10, 10, false, false)
    31  	if err != nil {
    32  		log.Fatal(err)
    33  	}
    34  	log.Print(res)
    35  }
    36  
    37  func ExampleNewGenerator_nil() {
    38  	// This is exactly the same as calling "Generate" directly. It will use all
    39  	// the default values.
    40  	gen, err := password.NewGenerator(nil)
    41  	if err != nil {
    42  		log.Fatal(err)
    43  	}
    44  
    45  	_ = gen // gen.Generate(...)
    46  }
    47  
    48  func ExampleNewGenerator_custom() {
    49  	// Customize the list of symbols.
    50  	gen, err := password.NewGenerator(&password.GeneratorInput{
    51  		Symbols: "!@#$%^()",
    52  	})
    53  	if err != nil {
    54  		log.Fatal(err)
    55  	}
    56  
    57  	_ = gen // gen.Generate(...)
    58  }
    59  
    60  func ExampleNewMockGenerator_testing() {
    61  	// Accept a password.PasswordGenerator interface instead of a
    62  	// password.Generator struct.
    63  	f := func(g password.PasswordGenerator) string {
    64  		// These values don't matter
    65  		return g.MustGenerate(1, 2, 3, false, false)
    66  	}
    67  
    68  	// In tests
    69  	gen := password.NewMockGenerator("canned-response", nil)
    70  
    71  	fmt.Print(f(gen))
    72  	// Output: canned-response
    73  }
    74  

View as plain text