summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-05-03 16:18:34 +0200
committerLibravatar GitHub <noreply@github.com>2023-05-03 16:18:34 +0200
commita6ec2a5bc260aa1be0e97c4be674266748fe093d (patch)
treeec978ca7020e5f47fa36ac1cc5ae1f5a6de13805
parent[chore] Hide vendor from diffs (#1729) (diff)
downloadgotosocial-a6ec2a5bc260aa1be0e97c4be674266748fe093d.tar.xz
[bugfix] Fix invalid og:description on account w/ empty note (#1733)
-rw-r--r--internal/web/opengraph.go2
-rw-r--r--internal/web/opengraph_test.go67
2 files changed, 68 insertions, 1 deletions
diff --git a/internal/web/opengraph.go b/internal/web/opengraph.go
index ff5a5f015..12989160c 100644
--- a/internal/web/opengraph.go
+++ b/internal/web/opengraph.go
@@ -91,7 +91,7 @@ func (og *ogMeta) withAccount(account *apimodel.Account) *ogMeta {
if account.Note != "" {
og.Description = parseDescription(account.Note)
} else {
- og.Description = "This GoToSocial user hasn't written a bio yet!"
+ og.Description = `content="This GoToSocial user hasn't written a bio yet!"`
}
og.Image = account.Avatar
diff --git a/internal/web/opengraph_test.go b/internal/web/opengraph_test.go
index 1cfbd7c70..06e97cdce 100644
--- a/internal/web/opengraph_test.go
+++ b/internal/web/opengraph_test.go
@@ -22,6 +22,7 @@ import (
"testing"
"github.com/stretchr/testify/suite"
+ apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
)
type OpenGraphTestSuite struct {
@@ -44,6 +45,72 @@ func (suite *OpenGraphTestSuite) TestParseDescription() {
}
}
+func (suite *OpenGraphTestSuite) TestWithAccountWithNote() {
+ baseMeta := ogBase(&apimodel.InstanceV1{
+ AccountDomain: "example.org",
+ Languages: []string{"en"},
+ })
+
+ accountMeta := baseMeta.withAccount(&apimodel.Account{
+ Acct: "example_account",
+ DisplayName: "example person!!",
+ URL: "https://example.org/@example_account",
+ Note: "<p>This is my profile, read it and weep! Weep then!</p>",
+ Username: "example_account",
+ })
+
+ suite.EqualValues(ogMeta{
+ Title: "example person!! (@example_account@example.org)",
+ Type: "profile",
+ Locale: "en",
+ URL: "https://example.org/@example_account",
+ SiteName: "example.org",
+ Description: "content=\"This is my profile, read it and weep! Weep then!\"",
+ Image: "",
+ ImageWidth: "",
+ ImageHeight: "",
+ ImageAlt: "Avatar for example_account",
+ ArticlePublisher: "",
+ ArticleAuthor: "",
+ ArticleModifiedTime: "",
+ ArticlePublishedTime: "",
+ ProfileUsername: "example_account",
+ }, *accountMeta)
+}
+
+func (suite *OpenGraphTestSuite) TestWithAccountNoNote() {
+ baseMeta := ogBase(&apimodel.InstanceV1{
+ AccountDomain: "example.org",
+ Languages: []string{"en"},
+ })
+
+ accountMeta := baseMeta.withAccount(&apimodel.Account{
+ Acct: "example_account",
+ DisplayName: "example person!!",
+ URL: "https://example.org/@example_account",
+ Note: "", // <- empty
+ Username: "example_account",
+ })
+
+ suite.EqualValues(ogMeta{
+ Title: "example person!! (@example_account@example.org)",
+ Type: "profile",
+ Locale: "en",
+ URL: "https://example.org/@example_account",
+ SiteName: "example.org",
+ Description: "content=\"This GoToSocial user hasn't written a bio yet!\"",
+ Image: "",
+ ImageWidth: "",
+ ImageHeight: "",
+ ImageAlt: "Avatar for example_account",
+ ArticlePublisher: "",
+ ArticleAuthor: "",
+ ArticleModifiedTime: "",
+ ArticlePublishedTime: "",
+ ProfileUsername: "example_account",
+ }, *accountMeta)
+}
+
func TestOpenGraphTestSuite(t *testing.T) {
suite.Run(t, &OpenGraphTestSuite{})
}