...
1
2
3
4
5 package blog
6
7 import (
8 "bytes"
9 "testing"
10 )
11
12 func TestLinkRewrite(t *testing.T) {
13 tests := []struct {
14 input string
15 output string
16 }{
17 {
18 `For instance, the <a href="https://golang.org/pkg/bytes/" target="_blank">bytes package</a> from the standard library exports the <code>Buffer</code> type.`,
19 `For instance, the <a href="/pkg/bytes/" target="_blank">bytes package</a> from the standard library exports the <code>Buffer</code> type.`},
20 {
21 `(The <a href="https://golang.org/cmd/gofmt/" target="_blank">gofmt command</a> has a <code>-r</code> flag that provides a syntax-aware search and replace, making large-scale refactoring easier.)`,
22 `(The <a href="/cmd/gofmt/" target="_blank">gofmt command</a> has a <code>-r</code> flag that provides a syntax-aware search and replace, making large-scale refactoring easier.)`,
23 },
24 {
25 `<a href="//golang.org/LICENSE">BSD license</a>.<br> <a href="//golang.org/doc/tos.html">Terms of Service</a> `,
26 `<a href="//golang.org/LICENSE">BSD license</a>.<br> <a href="//golang.org/doc/tos.html">Terms of Service</a> `,
27 },
28 {
29 `For instance, the <code>websocket</code> package from the <code>go.net</code> sub-repository has an import path of <code>"golang.org/x/net/websocket"</code>.`,
30 `For instance, the <code>websocket</code> package from the <code>go.net</code> sub-repository has an import path of <code>"golang.org/x/net/websocket"</code>.`,
31 },
32 }
33 for _, test := range tests {
34 var buf bytes.Buffer
35 _, err := golangOrgAbsLinkReplacer.WriteString(&buf, test.input)
36 if err != nil {
37 t.Errorf("unexpected error during replacing links. Got: %#v, Want: nil.\n", err)
38 continue
39 }
40 if got, want := buf.String(), test.output; got != want {
41 t.Errorf("WriteString(%q) = %q. Expected: %q", test.input, got, want)
42 }
43 }
44 }
45
View as plain text