diff options
Diffstat (limited to 'internal/text/link_test.go')
-rw-r--r-- | internal/text/link_test.go | 64 |
1 files changed, 47 insertions, 17 deletions
diff --git a/internal/text/link_test.go b/internal/text/link_test.go index 636f26f7f..15e27f870 100644 --- a/internal/text/link_test.go +++ b/internal/text/link_test.go @@ -24,6 +24,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/text" + "github.com/superseriousbusiness/gotosocial/testrig" ) const text1 = ` @@ -64,11 +65,40 @@ what happens when we already have a link within an href? <a href="https://example.org">https://example.org</a> ` -type TextTestSuite struct { - suite.Suite +type LinkTestSuite struct { + TextStandardTestSuite } -func (suite *TextTestSuite) TestParseURLsFromText1() { +func (suite *LinkTestSuite) SetupSuite() { + suite.testTokens = testrig.NewTestTokens() + suite.testClients = testrig.NewTestClients() + suite.testApplications = testrig.NewTestApplications() + suite.testUsers = testrig.NewTestUsers() + suite.testAccounts = testrig.NewTestAccounts() + suite.testAttachments = testrig.NewTestAttachments() + suite.testStatuses = testrig.NewTestStatuses() + suite.testTags = testrig.NewTestTags() +} + +func (suite *LinkTestSuite) SetupTest() { + suite.config = testrig.NewTestConfig() + suite.db = testrig.NewTestDB() + suite.log = testrig.NewTestLog() + suite.formatter = text.NewFormatter(suite.config, suite.db, suite.log) + + testrig.StandardDBSetup(suite.db) +} + +func (suite *LinkTestSuite) TearDownTest() { + testrig.StandardDBTeardown(suite.db) +} + +func (suite *LinkTestSuite) TestParseSimple() { + f := suite.formatter.FromPlain(simple, nil, nil) + assert.Equal(suite.T(), simpleExpected, f) +} + +func (suite *LinkTestSuite) TestParseURLsFromText1() { urls, err := text.FindLinks(text1) assert.NoError(suite.T(), err) @@ -79,7 +109,7 @@ func (suite *TextTestSuite) TestParseURLsFromText1() { assert.Equal(suite.T(), "https://example.orghttps://google.com", urls[3].String()) } -func (suite *TextTestSuite) TestParseURLsFromText2() { +func (suite *LinkTestSuite) TestParseURLsFromText2() { urls, err := text.FindLinks(text2) assert.NoError(suite.T(), err) @@ -87,7 +117,7 @@ func (suite *TextTestSuite) TestParseURLsFromText2() { assert.Len(suite.T(), urls, 1) } -func (suite *TextTestSuite) TestParseURLsFromText3() { +func (suite *LinkTestSuite) TestParseURLsFromText3() { urls, err := text.FindLinks(text3) assert.NoError(suite.T(), err) @@ -95,8 +125,8 @@ func (suite *TextTestSuite) TestParseURLsFromText3() { assert.Len(suite.T(), urls, 0) } -func (suite *TextTestSuite) TestReplaceLinksFromText1() { - replaced := text.ReplaceLinks(text1) +func (suite *LinkTestSuite) TestReplaceLinksFromText1() { + replaced := suite.formatter.ReplaceLinks(text1) assert.Equal(suite.T(), ` This is a text with some links in it. Here's link number one: <a href="https://example.org/link/to/something#fragment" rel="noopener">example.org/link/to/something#fragment</a> @@ -110,8 +140,8 @@ really.cool.website <-- this one shouldn't be parsed as a link because it doesn' `, replaced) } -func (suite *TextTestSuite) TestReplaceLinksFromText2() { - replaced := text.ReplaceLinks(text2) +func (suite *LinkTestSuite) TestReplaceLinksFromText2() { + replaced := suite.formatter.ReplaceLinks(text2) assert.Equal(suite.T(), ` this is one link: <a href="https://example.org" rel="noopener">example.org</a> @@ -121,16 +151,16 @@ these should be deduplicated `, replaced) } -func (suite *TextTestSuite) TestReplaceLinksFromText3() { +func (suite *LinkTestSuite) TestReplaceLinksFromText3() { // we know mailto links won't be replaced with hrefs -- we only accept https and http - replaced := text.ReplaceLinks(text3) + replaced := suite.formatter.ReplaceLinks(text3) assert.Equal(suite.T(), ` here's a mailto link: mailto:whatever@test.org `, replaced) } -func (suite *TextTestSuite) TestReplaceLinksFromText4() { - replaced := text.ReplaceLinks(text4) +func (suite *LinkTestSuite) TestReplaceLinksFromText4() { + replaced := suite.formatter.ReplaceLinks(text4) assert.Equal(suite.T(), ` two similar links: @@ -140,9 +170,9 @@ two similar links: `, replaced) } -func (suite *TextTestSuite) TestReplaceLinksFromText5() { +func (suite *LinkTestSuite) TestReplaceLinksFromText5() { // we know this one doesn't work properly, which is why html should always be sanitized before being passed into the ReplaceLinks function - replaced := text.ReplaceLinks(text5) + replaced := suite.formatter.ReplaceLinks(text5) assert.Equal(suite.T(), ` what happens when we already have a link within an href? @@ -150,6 +180,6 @@ what happens when we already have a link within an href? `, replaced) } -func TestTextTestSuite(t *testing.T) { - suite.Run(t, new(TextTestSuite)) +func TestLinkTestSuite(t *testing.T) { + suite.Run(t, new(LinkTestSuite)) } |