extractmentions_test.go (1616B)
1 // GoToSocial 2 // Copyright (C) GoToSocial Authors admin@gotosocial.org 3 // SPDX-License-Identifier: AGPL-3.0-or-later 4 // 5 // This program is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU Affero General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU Affero General Public License for more details. 14 // 15 // You should have received a copy of the GNU Affero General Public License 16 // along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 package ap_test 19 20 import ( 21 "testing" 22 23 "github.com/stretchr/testify/suite" 24 "github.com/superseriousbusiness/gotosocial/internal/ap" 25 ) 26 27 type ExtractMentionsTestSuite struct { 28 ExtractTestSuite 29 } 30 31 func (suite *ExtractMentionsTestSuite) TestExtractMentions() { 32 note := suite.noteWithMentions1 33 34 mentions, err := ap.ExtractMentions(note) 35 suite.NoError(err) 36 suite.Len(mentions, 2) 37 38 m1 := mentions[0] 39 suite.Equal("@dumpsterqueer@superseriousbusiness.org", m1.NameString) 40 suite.Equal("https://gts.superseriousbusiness.org/users/dumpsterqueer", m1.TargetAccountURI) 41 42 m2 := mentions[1] 43 suite.Equal("@f0x@superseriousbusiness.org", m2.NameString) 44 suite.Equal("https://gts.superseriousbusiness.org/users/f0x", m2.TargetAccountURI) 45 } 46 47 func TestExtractMentionsTestSuite(t *testing.T) { 48 suite.Run(t, &ExtractMentionsTestSuite{}) 49 }