Skip to content

Commit 8ca7856

Browse files
committed
mime: move examples to external test file
Fixes #11257 Change-Id: I3f75db47b0f8e877d81e3c2dcea01ff747b47685 Reviewed-on: https://go-review.googlesource.com/13779 Reviewed-by: Brad Fitzpatrick <[email protected]>
1 parent b3a508c commit 8ca7856

File tree

2 files changed

+98
-87
lines changed

2 files changed

+98
-87
lines changed

src/mime/encodedword_test.go

-87
Original file line numberDiff line numberDiff line change
@@ -5,100 +5,13 @@
55
package mime
66

77
import (
8-
"bytes"
98
"errors"
10-
"fmt"
119
"io"
1210
"io/ioutil"
1311
"strings"
1412
"testing"
1513
)
1614

17-
func ExampleWordEncoder_Encode() {
18-
fmt.Println(QEncoding.Encode("utf-8", "¡Hola, señor!"))
19-
fmt.Println(QEncoding.Encode("utf-8", "Hello!"))
20-
fmt.Println(BEncoding.Encode("UTF-8", "¡Hola, señor!"))
21-
fmt.Println(QEncoding.Encode("ISO-8859-1", "Caf\xE9"))
22-
// Output:
23-
// =?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=
24-
// Hello!
25-
// =?UTF-8?b?wqFIb2xhLCBzZcOxb3Ih?=
26-
// =?ISO-8859-1?q?Caf=E9?=
27-
}
28-
29-
func ExampleWordDecoder_Decode() {
30-
dec := new(WordDecoder)
31-
header, err := dec.Decode("=?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=")
32-
if err != nil {
33-
panic(err)
34-
}
35-
fmt.Println(header)
36-
37-
dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) {
38-
switch charset {
39-
case "x-case":
40-
// Fake character set for example.
41-
// Real use would integrate with packages such
42-
// as code.google.com/p/go-charset
43-
content, err := ioutil.ReadAll(input)
44-
if err != nil {
45-
return nil, err
46-
}
47-
return bytes.NewReader(bytes.ToUpper(content)), nil
48-
default:
49-
return nil, fmt.Errorf("unhandled charset %q", charset)
50-
}
51-
}
52-
header, err = dec.Decode("=?x-case?q?hello!?=")
53-
if err != nil {
54-
panic(err)
55-
}
56-
fmt.Println(header)
57-
// Output:
58-
// ¡Hola, señor!
59-
// HELLO!
60-
}
61-
62-
func ExampleWordDecoder_DecodeHeader() {
63-
dec := new(WordDecoder)
64-
header, err := dec.DecodeHeader("=?utf-8?q?=C3=89ric?= <[email protected]>, =?utf-8?q?Ana=C3=AFs?= <[email protected]>")
65-
if err != nil {
66-
panic(err)
67-
}
68-
fmt.Println(header)
69-
70-
header, err = dec.DecodeHeader("=?utf-8?q?=C2=A1Hola,?= =?utf-8?q?_se=C3=B1or!?=")
71-
if err != nil {
72-
panic(err)
73-
}
74-
fmt.Println(header)
75-
76-
dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) {
77-
switch charset {
78-
case "x-case":
79-
// Fake character set for example.
80-
// Real use would integrate with packages such
81-
// as code.google.com/p/go-charset
82-
content, err := ioutil.ReadAll(input)
83-
if err != nil {
84-
return nil, err
85-
}
86-
return bytes.NewReader(bytes.ToUpper(content)), nil
87-
default:
88-
return nil, fmt.Errorf("unhandled charset %q", charset)
89-
}
90-
}
91-
header, err = dec.DecodeHeader("=?x-case?q?hello_?= =?x-case?q?world!?=")
92-
if err != nil {
93-
panic(err)
94-
}
95-
fmt.Println(header)
96-
// Output:
97-
98-
// ¡Hola, señor!
99-
// HELLO WORLD!
100-
}
101-
10215
func TestEncodeWord(t *testing.T) {
10316
utf8, iso88591 := "utf-8", "iso-8859-1"
10417
tests := []struct {

src/mime/example_test.go

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
// Copyright 2015 The Go Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style
3+
// license that can be found in the LICENSE file.
4+
5+
package mime_test
6+
7+
import (
8+
"bytes"
9+
"fmt"
10+
"io"
11+
"io/ioutil"
12+
"mime"
13+
)
14+
15+
func ExampleWordEncoder_Encode() {
16+
fmt.Println(mime.QEncoding.Encode("utf-8", "¡Hola, señor!"))
17+
fmt.Println(mime.QEncoding.Encode("utf-8", "Hello!"))
18+
fmt.Println(mime.BEncoding.Encode("UTF-8", "¡Hola, señor!"))
19+
fmt.Println(mime.QEncoding.Encode("ISO-8859-1", "Caf\xE9"))
20+
// Output:
21+
// =?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=
22+
// Hello!
23+
// =?UTF-8?b?wqFIb2xhLCBzZcOxb3Ih?=
24+
// =?ISO-8859-1?q?Caf=E9?=
25+
}
26+
27+
func ExampleWordDecoder_Decode() {
28+
dec := new(mime.WordDecoder)
29+
header, err := dec.Decode("=?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=")
30+
if err != nil {
31+
panic(err)
32+
}
33+
fmt.Println(header)
34+
35+
dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) {
36+
switch charset {
37+
case "x-case":
38+
// Fake character set for example.
39+
// Real use would integrate with packages such
40+
// as code.google.com/p/go-charset
41+
content, err := ioutil.ReadAll(input)
42+
if err != nil {
43+
return nil, err
44+
}
45+
return bytes.NewReader(bytes.ToUpper(content)), nil
46+
default:
47+
return nil, fmt.Errorf("unhandled charset %q", charset)
48+
}
49+
}
50+
header, err = dec.Decode("=?x-case?q?hello!?=")
51+
if err != nil {
52+
panic(err)
53+
}
54+
fmt.Println(header)
55+
// Output:
56+
// ¡Hola, señor!
57+
// HELLO!
58+
}
59+
60+
func ExampleWordDecoder_DecodeHeader() {
61+
dec := new(mime.WordDecoder)
62+
header, err := dec.DecodeHeader("=?utf-8?q?=C3=89ric?= <[email protected]>, =?utf-8?q?Ana=C3=AFs?= <[email protected]>")
63+
if err != nil {
64+
panic(err)
65+
}
66+
fmt.Println(header)
67+
68+
header, err = dec.DecodeHeader("=?utf-8?q?=C2=A1Hola,?= =?utf-8?q?_se=C3=B1or!?=")
69+
if err != nil {
70+
panic(err)
71+
}
72+
fmt.Println(header)
73+
74+
dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) {
75+
switch charset {
76+
case "x-case":
77+
// Fake character set for example.
78+
// Real use would integrate with packages such
79+
// as code.google.com/p/go-charset
80+
content, err := ioutil.ReadAll(input)
81+
if err != nil {
82+
return nil, err
83+
}
84+
return bytes.NewReader(bytes.ToUpper(content)), nil
85+
default:
86+
return nil, fmt.Errorf("unhandled charset %q", charset)
87+
}
88+
}
89+
header, err = dec.DecodeHeader("=?x-case?q?hello_?= =?x-case?q?world!?=")
90+
if err != nil {
91+
panic(err)
92+
}
93+
fmt.Println(header)
94+
// Output:
95+
96+
// ¡Hola, señor!
97+
// HELLO WORLD!
98+
}

0 commit comments

Comments
 (0)