OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [html/] [template/] [html_test.go] - Blame information for rev 801

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 747 jeremybenn
// Copyright 2011 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 template
6
 
7
import (
8
        "html"
9
        "strings"
10
        "testing"
11
)
12
 
13
func TestHTMLNospaceEscaper(t *testing.T) {
14
        input := ("\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f" +
15
                "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" +
16
                ` !"#$%&'()*+,-./` +
17
                `0123456789:;<=>?` +
18
                `@ABCDEFGHIJKLMNO` +
19
                `PQRSTUVWXYZ[\]^_` +
20
                "`abcdefghijklmno" +
21
                "pqrstuvwxyz{|}~\x7f" +
22
                "\u00A0\u0100\u2028\u2029\ufeff\ufdec\U0001D11E")
23
 
24
        want := ("�\x01\x02\x03\x04\x05\x06\x07" +
25
                "\x08	

\x0E\x0F" +
26
                "\x10\x11\x12\x13\x14\x15\x16\x17" +
27
                "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" +
28
                ` !"#$%&'()*+,-./` +
29
                `0123456789:;<=>?` +
30
                `@ABCDEFGHIJKLMNO` +
31
                `PQRSTUVWXYZ[\]^_` +
32
                ``abcdefghijklmno` +
33
                `pqrstuvwxyz{|}~` + "\u007f" +
34
                "\u00A0\u0100\u2028\u2029\ufeff﷬\U0001D11E")
35
 
36
        got := htmlNospaceEscaper(input)
37
        if got != want {
38
                t.Errorf("encode: want\n\t%q\nbut got\n\t%q", want, got)
39
        }
40
 
41
        got, want = html.UnescapeString(got), strings.Replace(input, "\x00", "\ufffd", 1)
42
        if want != got {
43
                t.Errorf("decode: want\n\t%q\nbut got\n\t%q", want, got)
44
        }
45
}
46
 
47
func TestStripTags(t *testing.T) {
48
        tests := []struct {
49
                input, want string
50
        }{
51
                {"", ""},
52
                {"Hello, World!", "Hello, World!"},
53
                {"foo&bar", "foo&bar"},
54
                {`Hello World!`, "Hello World!"},
55
                {"Foo  Baz", "Foo Bar Baz"},
56
                {"Foo  Baz", "Foo  Baz"},
57
                {"<", "<"},
58
                {"foo < bar", "foo < bar"},
59
                {`FooBar`, "FooBar"},
60
                {`Foo
Bar`, "FooBar"},
61
                {`I <3 Ponies!`, `I <3 Ponies!`},
62
                {``, ``},
63
        }
64
 
65
        for _, test := range tests {
66
                if got := stripTags(test.input); got != test.want {
67
                        t.Errorf("%q: want %q, got %q", test.input, test.want, got)
68
                }
69
        }
70
}
71
 
72
func BenchmarkHTMLNospaceEscaper(b *testing.B) {
73
        for i := 0; i < b.N; i++ {
74
                htmlNospaceEscaper("The quick,\r\nbrown fox jumps\u2028over the dog")
75
        }
76
}
77
 
78
func BenchmarkHTMLNospaceEscaperNoSpecials(b *testing.B) {
79
        for i := 0; i < b.N; i++ {
80
                htmlNospaceEscaper("The_quick,_brown_fox_jumps_over_the_lazy_dog.")
81
        }
82
}
83
 
84
func BenchmarkStripTags(b *testing.B) {
85
        for i := 0; i < b.N; i++ {
86
                stripTags("The quick,\r\nbrown fox jumps\u2028over the dog")
87
        }
88
}
89
 
90
func BenchmarkStripTagsNoSpecials(b *testing.B) {
91
        for i := 0; i < b.N; i++ {
92
                stripTags("The quick, brown fox jumps over the lazy dog.")
93
        }
94
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.