package security import ( "testing" ) func TestSanitizeInput(t *testing.T) { tests := []struct { name string input string expected string }{ { name: "basic text", input: "Hello World", expected: "Hello World", }, { name: "script tag removal", input: "Hello", expected: "<script>alert('xss')</script>Hello", }, { name: "javascript protocol removal", input: "javascript:alert('xss')", expected: "alert('xss')", }, { name: "event handler removal", input: "", expected: "<img src='x' onerror='alert(1)'>", }, { name: "mixed content", input: "Hello World", expected: "Hello <script>alert('xss')</script> World", }, { name: "whitespace trimming", input: " Hello World ", expected: "Hello World", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { result := SanitizeInput(tt.input) if result != tt.expected { t.Errorf("SanitizeInput(%q) = %q, expected %q", tt.input, result, tt.expected) } }) } } func TestSanitizeUsername(t *testing.T) { tests := []struct { name string input string expected string }{ { name: "valid username", input: "testuser", expected: "testuser", }, { name: "username with special chars", input: "test_user-123", expected: "test_user-123", }, { name: "username with invalid chars", input: "test@user#123", expected: "testuser123", }, { name: "username starting with number", input: "123test", expected: "123test", }, { name: "username starting with special char", input: "@testuser", expected: "testuser", }, { name: "empty username", input: "", expected: "", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { result := SanitizeUsername(tt.input) if result != tt.expected { t.Errorf("SanitizeUsername(%q) = %q, expected %q", tt.input, result, tt.expected) } }) } } func TestSanitizeEmail(t *testing.T) { tests := []struct { name string input string expected string }{ { name: "valid email", input: "test@example.com", expected: "test@example.com", }, { name: "email with uppercase", input: "TEST@EXAMPLE.COM", expected: "test@example.com", }, { name: "invalid email", input: "not-an-email", expected: "", }, { name: "email with script", input: "test