From f04e7bb1cf73a493999c236471456847a8eafc41 Mon Sep 17 00:00:00 2001 From: Alexandre Cesaro Date: Wed, 27 May 2015 12:38:55 +0200 Subject: [PATCH] mime: fix names of examples The names of examples were wrong so they were not shown in the documentation. Change-Id: Ib1b985b44d2e056c38c008a591cb441e422c4717 Reviewed-on: https://go-review.googlesource.com/10404 Run-TryBot: Brad Fitzpatrick Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/mime/encodedword_test.go | 56 ++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/src/mime/encodedword_test.go b/src/mime/encodedword_test.go index 02236ea521..2beff5d341 100644 --- a/src/mime/encodedword_test.go +++ b/src/mime/encodedword_test.go @@ -5,6 +5,7 @@ package mime import ( + "bytes" "errors" "fmt" "io" @@ -13,7 +14,7 @@ import ( "testing" ) -func ExampleEncodeWord() { +func ExampleWordEncoder_Encode() { fmt.Println(QEncoding.Encode("utf-8", "¡Hola, señor!")) fmt.Println(QEncoding.Encode("utf-8", "Hello!")) fmt.Println(BEncoding.Encode("UTF-8", "¡Hola, señor!")) @@ -25,17 +26,40 @@ func ExampleEncodeWord() { // =?ISO-8859-1?q?Caf=E9?= } -func ExampleDecodeWord() { +func ExampleWordDecoder_Decode() { dec := new(WordDecoder) - header, err := dec.DecodeHeader("=?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=") + header, err := dec.Decode("=?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=") if err != nil { panic(err) } fmt.Println(header) - // Output: ¡Hola, señor! + + dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) { + switch charset { + case "x-case": + // Fake character set for example. + // Real use would integrate with packages such + // as code.google.com/p/go-charset + content, err := ioutil.ReadAll(input) + if err != nil { + return nil, err + } + return bytes.NewReader(bytes.ToUpper(content)), nil + default: + return nil, fmt.Errorf("unhandled charset %q", charset) + } + } + header, err = dec.Decode("=?x-case?q?hello!?=") + if err != nil { + panic(err) + } + fmt.Println(header) + // Output: + // ¡Hola, señor! + // HELLO! } -func ExampleDecodeHeader() { +func ExampleWordDecoder_DecodeHeader() { dec := new(WordDecoder) header, err := dec.DecodeHeader("=?utf-8?q?=C3=89ric?= , =?utf-8?q?Ana=C3=AFs?= ") if err != nil { @@ -48,9 +72,31 @@ func ExampleDecodeHeader() { panic(err) } fmt.Println(header) + + dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) { + switch charset { + case "x-case": + // Fake character set for example. + // Real use would integrate with packages such + // as code.google.com/p/go-charset + content, err := ioutil.ReadAll(input) + if err != nil { + return nil, err + } + return bytes.NewReader(bytes.ToUpper(content)), nil + default: + return nil, fmt.Errorf("unhandled charset %q", charset) + } + } + header, err = dec.DecodeHeader("=?x-case?q?hello_?= =?x-case?q?world!?=") + if err != nil { + panic(err) + } + fmt.Println(header) // Output: // Éric , Anaïs // ¡Hola, señor! + // HELLO WORLD! } func TestEncodeWord(t *testing.T) { -- 2.48.1