mirror of
https://github.com/miniflux/v2.git
synced 2025-07-27 17:28:38 +00:00
First commit
This commit is contained in:
commit
8ffb773f43
2121 changed files with 1118910 additions and 0 deletions
63
vendor/github.com/tdewolff/parse/xml/util_test.go
generated
vendored
Normal file
63
vendor/github.com/tdewolff/parse/xml/util_test.go
generated
vendored
Normal file
|
@ -0,0 +1,63 @@
|
|||
package xml // import "github.com/tdewolff/parse/xml"
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/tdewolff/test"
|
||||
)
|
||||
|
||||
func TestEscapeAttrVal(t *testing.T) {
|
||||
var attrValTests = []struct {
|
||||
attrVal string
|
||||
expected string
|
||||
}{
|
||||
{"xyz", "\"xyz\""},
|
||||
{"", "\"\""},
|
||||
{"x&z", "\"x&z\""},
|
||||
{"x'z", "\"x'z\""},
|
||||
{"x\"z", "'x\"z'"},
|
||||
{"a'b=\"\"", "'a'b=\"\"'"},
|
||||
{"'x'\"'z'", "\"x'"'z\""},
|
||||
{"\"x"'"z\"", "'x\"'\"z'"},
|
||||
{"a'b=\"\"", "'a'b=\"\"'"},
|
||||
}
|
||||
var buf []byte
|
||||
for _, tt := range attrValTests {
|
||||
t.Run(tt.attrVal, func(t *testing.T) {
|
||||
b := []byte(tt.attrVal)
|
||||
if len(b) > 1 && (b[0] == '"' || b[0] == '\'') && b[0] == b[len(b)-1] {
|
||||
b = b[1 : len(b)-1]
|
||||
}
|
||||
val := EscapeAttrVal(&buf, []byte(b))
|
||||
test.String(t, string(val), tt.expected)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestEscapeCDATAVal(t *testing.T) {
|
||||
var CDATAValTests = []struct {
|
||||
CDATAVal string
|
||||
expected string
|
||||
}{
|
||||
{"<![CDATA[<b>]]>", "<b>"},
|
||||
{"<![CDATA[abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz]]>", "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"},
|
||||
{"<![CDATA[ <b> ]]>", " <b> "},
|
||||
{"<![CDATA[<<<<<]]>", "<![CDATA[<<<<<]]>"},
|
||||
{"<![CDATA[&]]>", "&"},
|
||||
{"<![CDATA[&&&&]]>", "<![CDATA[&&&&]]>"},
|
||||
{"<![CDATA[ a ]]>", " a "},
|
||||
{"<![CDATA[]]>", ""},
|
||||
}
|
||||
var buf []byte
|
||||
for _, tt := range CDATAValTests {
|
||||
t.Run(tt.CDATAVal, func(t *testing.T) {
|
||||
b := []byte(tt.CDATAVal[len("<![CDATA[") : len(tt.CDATAVal)-len("]]>")])
|
||||
data, useText := EscapeCDATAVal(&buf, b)
|
||||
text := string(data)
|
||||
if !useText {
|
||||
text = "<![CDATA[" + text + "]]>"
|
||||
}
|
||||
test.String(t, text, tt.expected)
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue