Sync production source including routing, billing, Astra detection and public uptime. Update custom build instructions and license packaging.
20 lines
850 B
Go
20 lines
850 B
Go
package controller
|
|
|
|
import (
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/tidwall/gjson"
|
|
"testing"
|
|
)
|
|
|
|
func TestManxueArtworkURL(t *testing.T) {
|
|
assert.Empty(t, manxueArtworkURL(gjson.Parse(`{"public":false,"result":{"id":"private"}}`)))
|
|
assert.Equal(t, "https://manxue.ai/?result=community-one", manxueArtworkURL(gjson.Parse(`{"public":true,"result":{"id":"community-one"}}`)))
|
|
assert.Empty(t, manxueArtworkURL(gjson.Parse(`{"share_url":"https://evil.test/?result=one"}`)))
|
|
}
|
|
func TestArtworkPreservesScriptDrawnLegs(t *testing.T) {
|
|
result := sanitizeDetectionHTML(`<svg><path id="leg"></path></svg><button id="toggle">pause</button><script>document.getElementById('leg').setAttribute('d','M0 0L10 10')</script>`)
|
|
assert.Contains(t, result, "<script>")
|
|
assert.Contains(t, result, "setAttribute")
|
|
assert.Contains(t, result, "<button")
|
|
}
|