=== ProfanityFilter Tests === -- isClean: clean words -- PASS: 'RacerKing' is clean PASS: 'Thunder Pass' is clean PASS: 'SpeedDemon42' is clean PASS: 'HelloWorld' is clean PASS: 'Classic' is clean PASS: 'Assassin' is clean PASS: 'Bass' is clean PASS: 'Grasshopper' is clean -- isClean: dirty words -- PASS: 'fuck' is dirty PASS: 'FUCK' is dirty (case) PASS: 'Fuck' is dirty (mixed) PASS: 'shit' is dirty PASS: 'ass hole' is dirty -- isClean: leet-speak substitutions -- PASS: 'fvck' with no sub is clean PASS: 'sh1t' is dirty (1→i) PASS: 'a$$' is dirty ($→s) PASS: 'f_u_c_k' is dirty (seps) PASS: 'f.u.c.k' is dirty (dots) PASS: 'b1tch' is dirty (1→i) PASS: '@ss' is dirty (@→a) -- isClean: edge cases -- PASS: empty string is clean PASS: numbers '12345' clean PASS: single char 'a' clean -- sanitize -- PASS: sanitize replaces 'fuck' Result: 'What the **** is this' PASS: sanitize keeps clean text === Results: 25 passed, 0 failed ===