Files
remark42/app/rest/proxy/image_test.go
T
2018-05-18 01:52:29 -05:00

55 lines
1.5 KiB
Go

package proxy
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestPicture_Extract(t *testing.T) {
tbl := []struct {
inp string
res []string
}{
{
`<p> blah <img src="http://radio-t.com/img.png"/> test</p>`,
[]string{"http://radio-t.com/img.png"},
},
{
`<p> blah <img src="https://radio-t.com/img.png"/> test</p>`,
[]string{},
},
{
`<img src="http://radio-t.com/img2.png"/>`,
[]string{"http://radio-t.com/img2.png"},
},
{
`<img src="http://radio-t.com/img3.png"/> <div>xyz <img src="http://images.pexels.com/67636/img4.jpeg"> </div>`,
[]string{"http://radio-t.com/img3.png", "http://images.pexels.com/67636/img4.jpeg"},
},
{
`<img src="https://radio-t.com/img3.png"/> <div>xyz <img src="http://images.pexels.com/67636/img4.jpeg"> </div>`,
[]string{"http://images.pexels.com/67636/img4.jpeg"},
},
{
`abcd <b>blah</b> <h1>xxx</h1>`,
[]string{},
},
}
img := Image{Enabled: true}
for i, tt := range tbl {
res, err := img.extract(tt.inp)
assert.Nil(t, err, "err in #%d", i)
assert.Equal(t, tt.res, res, "mismatch in #%d", i)
}
}
func TestPicture_Replace(t *testing.T) {
img := Image{Enabled: true, RoutePath: "/img"}
r := img.replace(`<img src="http://radio-t.com/img3.png"/> xyz <img src="http://images.pexels.com/67636/img4.jpeg">`,
[]string{"http://radio-t.com/img3.png", "http://images.pexels.com/67636/img4.jpeg"})
assert.Equal(t, `<img src="/img?src=aHR0cDovL3JhZGlvLXQuY29tL2ltZzMucG5n"/> xyz <img src="/img?src=aHR0cDovL2ltYWdlcy5wZXhlbHMuY29tLzY3NjM2L2ltZzQuanBlZw==">`, r)
}