MCPcopy
hub / github.com/tdewolff/minify / TestDataURI

Function TestDataURI

common_test.go:33–68  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

31}
32
33func TestDataURI(t *testing.T) {
34 dataURITests := []struct {
35 dataURI string
36 expected string
37 }{
38 {"datx:x", "datx:x"},
39 {"data:,text", "data:,text"},
40 {"data:text/plain;charset=us-ascii,text", "data:,text"},
41 {"data:TEXT/PLAIN;CHARSET=US-ASCII,text", "data:,text"},
42 {"data:text/plain;charset=us-asciiz,text", "data:;charset=us-asciiz,text"},
43 {"data:;base64,dGV4dA==", "data:,text"},
44 {"data:text/svg+xml;base64,IyMjIyMj", "data:text/svg+xml;base64,IyMjIyMj"},
45 {"data:text/xml;version=2.0,content", "data:text/xml;version=2.0,content"},
46 {"data:text/xml; version = 2.0,content", "data:text/xml;version=2.0,content"},
47 {"data:,%23%23%23%23%23", "data:,%23%23%23%23%23"},
48 {"data:,%23%23%23%23%23%23", "data:;base64,IyMjIyMj"},
49 {"data:text/x,<?xx?>", "data:text/x,%3C?xx?%3E"},
50 {"data:text/other,\"<\u2318", "data:text/other,%22%3C%E2%8C%98"},
51 {"data:text/other,\"<\u2318>", "data:text/other;base64,IjzijJg+"},
52 {`data:text/svg+xml,%3Csvg height="100" width="100"><circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" /></svg>`, `data:text/svg+xml,%3Csvg height="100" width="100"><circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" /></svg>`},
53 {`data:image/svg&#43;xml,%e2%ad%90`, `data:image/svg&#43;xml,%E2%AD%90`},
54 }
55 m := New()
56 m.AddFunc("text/x", func(_ *M, w io.Writer, r io.Reader, _ map[string]string) error {
57 b, _ := io.ReadAll(r)
58 test.String(t, string(b), "<?xx?>")
59 _, _ = w.Write(b)
60 return nil
61 })
62 for _, tt := range dataURITests {
63 t.Run(tt.dataURI, func(t *testing.T) {
64 dataURI := DataURI(m, []byte(tt.dataURI))
65 test.Minify(t, tt.dataURI, nil, string(dataURI), tt.expected)
66 })
67 }
68}
69
70func TestDecimal(t *testing.T) {
71 numberTests := []struct {

Callers

nothing calls this directly

Calls 8

NewFunction · 0.85
DataURIFunction · 0.85
AddFuncMethod · 0.80
RunMethod · 0.80
MinifyMethod · 0.65
stringFunction · 0.50
StringMethod · 0.45
WriteMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…