Files
owncast/utils/strings_test.go
Gabe Kangas 8eb8bdc18b Stop using empty/whitespace as chat display names (#4553)
* fix(chat): fixes #4522 to stop people from setting invalid display names

* fix(chat): also guard against non-ascii whitespace like non breaking space

* Update web/utils/displayNameValidation.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: handle additional whitespace

* Update web/utils/displayNameValidation.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Javascript formatting autofixes

* fix: deduplicate running of validation

* fix: fix error with useMemo

* Update web/utils/displayNameValidation.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update web/utils/displayNameValidation.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Javascript formatting autofixes

* fix: fix component rendering issue

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2025-09-15 13:37:39 -07:00

72 lines
1.5 KiB
Go

package utils
import (
"fmt"
"testing"
)
// TestStripHTML tests the StripHTML function.
func TestStripHTML(t *testing.T) {
requestedString := `<p><img src="img.png"/>Some text</p>`
expectedResult := `Some text`
result := StripHTML(requestedString)
fmt.Println(result)
if result != expectedResult {
t.Errorf("Expected %s, got %s", expectedResult, result)
}
}
// TestSafeString tests the TestSafeString function.
func TestSafeString(t *testing.T) {
requestedString := `<p><img src="img.png"/> Some text blah blah blah blah blah blahb albh</p>`
expectedResult := `Some te`
result := MakeSafeStringOfLength(requestedString, 10)
fmt.Println(result)
if result != expectedResult {
t.Errorf("Expected %s, got %s", expectedResult, result)
}
}
// TestSafeStringWhitespace tests the MakeSafeStringOfLength function with whitespace-only input.
func TestSafeStringWhitespace(t *testing.T) {
testCases := []struct {
input string
expected string
name string
}{
{
input: " ",
expected: "",
name: "spaces only",
},
{
input: "\t\n\r",
expected: "",
name: "tab, newline, carriage return",
},
{
input: " \t \n \r ",
expected: "",
name: "mixed whitespace",
},
{
input: "",
expected: "",
name: "empty string",
},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
result := MakeSafeStringOfLength(tc.input, 30)
if result != tc.expected {
t.Errorf("Expected '%s', got '%s'", tc.expected, result)
}
})
}
}