diff options
author | 2022-05-26 11:37:13 +0200 | |
---|---|---|
committer | 2022-05-26 11:37:13 +0200 | |
commit | 5668ce1ec701ed12eb099020e8a322de08e6f810 (patch) | |
tree | f056890ae94f464176750be17b06292c5b9160d7 /internal/text/caption_test.go | |
parent | [security] Set SameSite to `strict` instead of browser default (#606) (diff) | |
download | gotosocial-5668ce1ec701ed12eb099020e8a322de08e6f810.tar.xz |
[bugfix] Fix HTML escaping in instance title (#607)
* move caption sanitization -> sanitize.go
* use sanitizeplaintext rather than removehtml
* rename sanitizecaption to sanitizeplaintext
* avoid removing html twice from statuses
* unexport remoteHTML
it's no longer used outside the text package so this
makes it less confusing
* test instance PATCH
Diffstat (limited to 'internal/text/caption_test.go')
-rw-r--r-- | internal/text/caption_test.go | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/internal/text/caption_test.go b/internal/text/caption_test.go deleted file mode 100644 index f1337df09..000000000 --- a/internal/text/caption_test.go +++ /dev/null @@ -1,82 +0,0 @@ -/* - GoToSocial - Copyright (C) 2021-2022 GoToSocial Authors admin@gotosocial.org - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -package text_test - -import ( - "testing" - - "github.com/stretchr/testify/suite" - "github.com/superseriousbusiness/gotosocial/internal/text" -) - -type CaptionTestSuite struct { - suite.Suite -} - -func (suite *CaptionTestSuite) TestSanitizeCaption1() { - dodgyCaption := "<script>console.log('haha!')</script>this is just a normal caption ;)" - sanitized := text.SanitizeCaption(dodgyCaption) - suite.Equal("this is just a normal caption ;)", sanitized) -} - -func (suite *CaptionTestSuite) TestSanitizeCaption2() { - dodgyCaption := "<em>here's a LOUD caption</em>" - sanitized := text.SanitizeCaption(dodgyCaption) - suite.Equal("here's a LOUD caption", sanitized) -} - -func (suite *CaptionTestSuite) TestSanitizeCaption3() { - dodgyCaption := "" - sanitized := text.SanitizeCaption(dodgyCaption) - suite.Equal("", sanitized) -} - -func (suite *CaptionTestSuite) TestSanitizeCaption4() { - dodgyCaption := ` - - -here is -a multi line -caption -with some newlines - - - -` - sanitized := text.SanitizeCaption(dodgyCaption) - suite.Equal("here is\na multi line\ncaption\nwith some newlines", sanitized) -} - -func (suite *CaptionTestSuite) TestSanitizeCaption5() { - // html-escaped: "<script>console.log('aha!')</script> hello world" - dodgyCaption := `<script>console.log('aha!')</script> hello world` - sanitized := text.SanitizeCaption(dodgyCaption) - suite.Equal("hello world", sanitized) -} - -func (suite *CaptionTestSuite) TestSanitizeCaption6() { - // html-encoded: "<script>console.log('aha!')</script> hello world" - dodgyCaption := `<script>console.log('aha!')</script> hello world` - sanitized := text.SanitizeCaption(dodgyCaption) - suite.Equal("hello world", sanitized) -} - -func TestCaptionTestSuite(t *testing.T) { - suite.Run(t, new(CaptionTestSuite)) -} |