fix(support-chat): support legacy mobile browsers
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package services
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestResolvePublicAssetURL(t *testing.T) {
|
||||
SetPublicAssetURLResolver(func(value string) string {
|
||||
return "https://cdn.example.com/" + value
|
||||
})
|
||||
t.Cleanup(func() { SetPublicAssetURLResolver(nil) })
|
||||
|
||||
if got := ResolvePublicAssetURL(" mall/materials/avatar.png "); got != "https://cdn.example.com/mall/materials/avatar.png" {
|
||||
t.Fatalf("ResolvePublicAssetURL() = %q", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolvePublicAssetURLFallsBackToStoredValue(t *testing.T) {
|
||||
SetPublicAssetURLResolver(func(string) string { return "" })
|
||||
t.Cleanup(func() { SetPublicAssetURLResolver(nil) })
|
||||
|
||||
if got := ResolvePublicAssetURL(" /storage/avatar.png "); got != "/storage/avatar.png" {
|
||||
t.Fatalf("ResolvePublicAssetURL() = %q", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetPublicAssetURLSettingsUsesManagementDomainRule(t *testing.T) {
|
||||
SetPublicAssetURLSettings(map[string]string{
|
||||
"oss_default_engine": "qiniu",
|
||||
"oss_qiniu_domain": "cdn.example.com",
|
||||
})
|
||||
t.Cleanup(func() { SetPublicAssetURLResolver(nil) })
|
||||
|
||||
tests := map[string]string{
|
||||
"mall/materials/avatar.png": "https://cdn.example.com/mall/materials/avatar.png",
|
||||
"/storage/builtin-avatar.png": "/storage/builtin-avatar.png",
|
||||
"https://system.example.com/icon.png": "https://system.example.com/icon.png",
|
||||
}
|
||||
for input, want := range tests {
|
||||
if got := ResolvePublicAssetURL(input); got != want {
|
||||
t.Fatalf("ResolvePublicAssetURL(%q) = %q, want %q", input, got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user