SYMBOL INDEX (551 symbols across 70 files) FILE: src/BlaspManager.php class BlaspManager (line 14) | class BlaspManager method __construct (line 20) | public function __construct(Application $app) method driver (line 25) | public function driver(?string $driver = null): PendingCheck method resolveDriver (line 30) | public function resolveDriver(string $name): DriverInterface method createDriver (line 39) | protected function createDriver(string $name): DriverInterface method createRegexDriver (line 53) | public function createRegexDriver(): DriverInterface method createPatternDriver (line 58) | public function createPatternDriver(): DriverInterface method createPhoneticDriver (line 63) | public function createPhoneticDriver(): DriverInterface method createPipelineDriver (line 76) | public function createPipelineDriver(): DriverInterface method extend (line 103) | public function extend(string $driver, Closure $callback): self method getDefaultDriver (line 109) | public function getDefaultDriver(): string method newPendingCheck (line 114) | public function newPendingCheck(): PendingCheck method pipeline (line 119) | public function pipeline(string ...$drivers): PendingCheck method check (line 126) | public function check(?string $text): \Blaspsoft\Blasp\Core\Result method checkMany (line 131) | public function checkMany(array $texts): array method __call (line 136) | public function __call(string $method, array $parameters): mixed method getApp (line 141) | public function getApp(): Application FILE: src/BlaspServiceProvider.php class BlaspServiceProvider (line 9) | class BlaspServiceProvider extends ServiceProvider method boot (line 11) | public function boot(): void method register (line 40) | public function register(): void method registerValidationRule (line 51) | protected function registerValidationRule(): void method registerMiddlewareAlias (line 68) | protected function registerMiddlewareAlias(): void method registerBladeDirectives (line 73) | protected function registerBladeDirectives(): void method registerStringMacros (line 80) | protected function registerStringMacros(): void FILE: src/Blaspable.php type Blaspable (line 19) | trait Blaspable method bootBlaspable (line 26) | public static function bootBlaspable(): void method hadProfanity (line 71) | public function hadProfanity(): bool method blaspResults (line 83) | public function blaspResults(): array method blaspResult (line 88) | public function blaspResult(string $attribute): ?Result method withoutBlaspChecking (line 93) | public static function withoutBlaspChecking(Closure $callback): mixed FILE: src/Console/ClearCommand.php class ClearCommand (line 8) | class ClearCommand extends Command method handle (line 13) | public function handle(): void FILE: src/Console/LanguagesCommand.php class LanguagesCommand (line 8) | class LanguagesCommand extends Command method handle (line 13) | public function handle(): void FILE: src/Console/TestCommand.php class TestCommand (line 7) | class TestCommand extends Command method handle (line 12) | public function handle(): void FILE: src/Core/Analyzer.php class Analyzer (line 9) | class Analyzer method analyze (line 11) | public function analyze( FILE: src/Core/Contracts/DriverInterface.php type DriverInterface (line 8) | interface DriverInterface method detect (line 10) | public function detect(string $text, Dictionary $dictionary, MaskStrat... FILE: src/Core/Contracts/MaskStrategyInterface.php type MaskStrategyInterface (line 5) | interface MaskStrategyInterface method mask (line 7) | public function mask(string $word, int $length): string; FILE: src/Core/Dictionary.php class Dictionary (line 14) | class Dictionary method __construct (line 31) | public function __construct( method forLanguage (line 80) | public static function forLanguage(string $language, array $options = ... method forLanguages (line 126) | public static function forLanguages(array $languages, array $options =... method forAllLanguages (line 173) | public static function forAllLanguages(array $options = []): self method getProfanities (line 179) | public function getProfanities(): array method getFalsePositives (line 184) | public function getFalsePositives(): array method getProfanityExpressions (line 189) | public function getProfanityExpressions(): array method getSeverity (line 194) | public function getSeverity(string $word): Severity method getNormalizer (line 200) | public function getNormalizer(): StringNormalizer method getLanguage (line 205) | public function getLanguage(): string method getSeparators (line 210) | public function getSeparators(): array method getSubstitutions (line 215) | public function getSubstitutions(): array method getAvailableLanguages (line 222) | public static function getAvailableLanguages(): array method loadLanguageConfig (line 252) | public static function loadLanguageConfig(string $language): array method loadGlobalConfig (line 285) | private static function loadGlobalConfig(): array method buildSeverityMap (line 294) | private static function buildSeverityMap(array $config): array method getNormalizerForLanguage (line 320) | public static function getNormalizerForLanguage(string $language): Str... method clearCache (line 337) | public static function clearCache(): void method getCache (line 358) | private static function getCache(): \Illuminate\Contracts\Cache\Reposi... FILE: src/Core/Masking/CallbackMask.php class CallbackMask (line 8) | class CallbackMask implements MaskStrategyInterface method __construct (line 10) | public function __construct( method mask (line 14) | public function mask(string $word, int $length): string FILE: src/Core/Masking/CharacterMask.php class CharacterMask (line 7) | class CharacterMask implements MaskStrategyInterface method __construct (line 9) | public function __construct( method mask (line 15) | public function mask(string $word, int $length): string FILE: src/Core/Masking/GrawlixMask.php class GrawlixMask (line 7) | class GrawlixMask implements MaskStrategyInterface method mask (line 11) | public function mask(string $word, int $length): string FILE: src/Core/MatchedWord.php class MatchedWord (line 8) | readonly class MatchedWord implements JsonSerializable method __construct (line 10) | public function __construct( method toArray (line 19) | public function toArray(): array method jsonSerialize (line 31) | public function jsonSerialize(): mixed FILE: src/Core/Matchers/CompoundWordDetector.php class CompoundWordDetector (line 5) | class CompoundWordDetector method isPureAlphaSubstring (line 9) | public function isPureAlphaSubstring(string $matchedText, string $full... FILE: src/Core/Matchers/FalsePositiveFilter.php class FalsePositiveFilter (line 5) | class FalsePositiveFilter method __construct (line 9) | public function __construct(array $falsePositives) method isFalsePositive (line 14) | public function isFalsePositive(string $word): bool method isInsideHexToken (line 19) | public function isInsideHexToken(string $string, int $start, int $leng... method isSpanningWordBoundary (line 49) | public function isSpanningWordBoundary(string $matchedText, string $fu... method getFullWordContext (line 125) | public function getFullWordContext(string $string, int $start, int $le... FILE: src/Core/Matchers/PhoneticMatcher.php class PhoneticMatcher (line 5) | class PhoneticMatcher method __construct (line 10) | public function __construct( method buildIndex (line 21) | private function buildIndex(array $profanities): void method match (line 43) | public function match(string $word): ?string FILE: src/Core/Matchers/RegexMatcher.php class RegexMatcher (line 5) | class RegexMatcher method generateExpressions (line 10) | public function generateExpressions(array $profanities, array $separat... method generateSeparatorExpression (line 28) | public function generateSeparatorExpression(array $separators): string method generateSubstitutionExpressions (line 37) | public function generateSubstitutionExpressions(array $substitutions):... method generateProfanityExpression (line 66) | public function generateProfanityExpression(string $profanity, array $... method generateEscapedExpression (line 103) | private function generateEscapedExpression(array $characters = [], arr... FILE: src/Core/Normalizers/EnglishNormalizer.php class EnglishNormalizer (line 5) | class EnglishNormalizer implements StringNormalizer method normalize (line 7) | public function normalize(string $string): string FILE: src/Core/Normalizers/FrenchNormalizer.php class FrenchNormalizer (line 5) | class FrenchNormalizer implements StringNormalizer method normalize (line 7) | public function normalize(string $string): string FILE: src/Core/Normalizers/GermanNormalizer.php class GermanNormalizer (line 5) | class GermanNormalizer implements StringNormalizer method normalize (line 7) | public function normalize(string $string): string FILE: src/Core/Normalizers/NullNormalizer.php class NullNormalizer (line 5) | class NullNormalizer implements StringNormalizer method normalize (line 7) | public function normalize(string $string): string FILE: src/Core/Normalizers/SpanishNormalizer.php class SpanishNormalizer (line 5) | class SpanishNormalizer implements StringNormalizer method normalize (line 7) | public function normalize(string $string): string FILE: src/Core/Normalizers/StringNormalizer.php type StringNormalizer (line 5) | interface StringNormalizer method normalize (line 7) | public function normalize(string $string): string; FILE: src/Core/Result.php class Result (line 11) | class Result implements JsonSerializable, Stringable, Countable method __construct (line 15) | public function __construct( method isClean (line 26) | public function isClean(): bool method isOffensive (line 31) | public function isOffensive(): bool method clean (line 36) | public function clean(): string method original (line 41) | public function original(): string method score (line 46) | public function score(): int method count (line 51) | public function count(): int method uniqueWords (line 56) | public function uniqueWords(): array method severity (line 61) | public function severity(): ?Severity method words (line 73) | public function words(): Collection method hasProfanity (line 81) | public function hasProfanity(): bool method getCleanString (line 87) | public function getCleanString(): string method getSourceString (line 93) | public function getSourceString(): string method getProfanitiesCount (line 99) | public function getProfanitiesCount(): int method getUniqueProfanitiesFound (line 105) | public function getUniqueProfanitiesFound(): array method none (line 112) | public static function none(string $text): self method fromArray (line 117) | public static function fromArray(array $data): self method withMatches (line 139) | public static function withMatches(array $words, string $originalText ... method toArray (line 164) | public function toArray(): array method toJson (line 178) | public function toJson(int $options = 0): string method jsonSerialize (line 183) | public function jsonSerialize(): mixed method __toString (line 188) | public function __toString(): string FILE: src/Core/Score.php class Score (line 5) | class Score method calculate (line 7) | public static function calculate(array $matchedWords, int $totalWordCo... FILE: src/Drivers/PatternDriver.php class PatternDriver (line 13) | class PatternDriver implements DriverInterface method detect (line 15) | public function detect(string $text, Dictionary $dictionary, MaskStrat... FILE: src/Drivers/PhoneticDriver.php class PhoneticDriver (line 15) | class PhoneticDriver implements DriverInterface method __construct (line 17) | public function __construct( method detect (line 25) | public function detect(string $text, Dictionary $dictionary, MaskStrat... FILE: src/Drivers/PipelineDriver.php class PipelineDriver (line 12) | class PipelineDriver implements DriverInterface method __construct (line 15) | public function __construct(private array $drivers) {} method detect (line 17) | public function detect(string $text, Dictionary $dictionary, MaskStrat... FILE: src/Drivers/RegexDriver.php class RegexDriver (line 15) | class RegexDriver implements DriverInterface method detect (line 20) | public function detect(string $text, Dictionary $dictionary, MaskStrat... FILE: src/Enums/Severity.php method weight (line 12) | public function weight(): int method isAtLeast (line 22) | public function isAtLeast(self $minimum): bool FILE: src/Events/ContentBlocked.php class ContentBlocked (line 8) | class ContentBlocked method __construct (line 10) | public function __construct( FILE: src/Events/ModelProfanityDetected.php class ModelProfanityDetected (line 8) | class ModelProfanityDetected method __construct (line 10) | public function __construct( FILE: src/Events/ProfanityDetected.php class ProfanityDetected (line 7) | class ProfanityDetected method __construct (line 9) | public function __construct( FILE: src/Exceptions/ProfanityRejectedException.php class ProfanityRejectedException (line 9) | class ProfanityRejectedException extends RuntimeException method __construct (line 11) | public function __construct( method forModel (line 19) | public static function forModel(Model $model, string $attribute, Resul... FILE: src/Facades/Blasp.php class Blasp (line 38) | class Blasp extends BaseFacade method getFacadeAccessor (line 40) | protected static function getFacadeAccessor(): string method fake (line 45) | public static function fake(array $responses = []): BlaspFake method withoutFiltering (line 52) | public static function withoutFiltering(Closure $callback): mixed method assertChecked (line 64) | public static function assertChecked(): void method assertCheckedTimes (line 73) | public static function assertCheckedTimes(int $times): void FILE: src/Middleware/CheckProfanity.php class CheckProfanity (line 12) | class CheckProfanity method __construct (line 14) | public function __construct( method handle (line 18) | public function handle(Request $request, Closure $next, ?string $actio... method extractTextFields (line 63) | protected function extractTextFields(array $input): array FILE: src/PendingCheck.php class PendingCheck (line 18) | class PendingCheck method __construct (line 32) | public function __construct(BlaspManager $manager) method driver (line 39) | public function driver(string $driver): self method in (line 45) | public function in(string ...$languages): self method inAllLanguages (line 51) | public function inAllLanguages(): self method mask (line 57) | public function mask(string|Closure $mask): self method allow (line 69) | public function allow(string ...$words): self method block (line 75) | public function block(string ...$words): self method withSeverity (line 81) | public function withSeverity(Severity $severity): self method strict (line 87) | public function strict(): self method lenient (line 94) | public function lenient(): self method pipeline (line 101) | public function pipeline(string ...$drivers): self method maskWith (line 110) | public function maskWith(string $character): self method allLanguages (line 116) | public function allLanguages(): self method language (line 122) | public function language(string $language): self method english (line 129) | public function english(): self method spanish (line 134) | public function spanish(): self method german (line 139) | public function german(): self method french (line 144) | public function french(): self method configure (line 151) | public function configure(?array $profanities = null, ?array $falsePos... method check (line 161) | public function check(?string $text): Result method performCheck (line 186) | protected function performCheck(string $text): Result method checkMany (line 208) | public function checkMany(array $texts): array method buildDictionary (line 219) | protected function buildDictionary(): Dictionary method resolveDriver (line 241) | protected function resolveDriver(): \Blaspsoft\Blasp\Core\Contracts\Dr... method resolveMask (line 261) | protected function resolveMask(): MaskStrategyInterface method shouldCache (line 273) | protected function shouldCache(): bool method buildCacheKey (line 290) | protected function buildCacheKey(string $text): string method getCache (line 309) | protected function getCache(): \Illuminate\Contracts\Cache\Repository method trackCacheKey (line 316) | protected function trackCacheKey(string $key): void FILE: src/Rules/Profanity.php class Profanity (line 9) | class Profanity implements ValidationRule method make (line 15) | public static function make(): self method in (line 20) | public function in(string $language): self method maxScore (line 26) | public function maxScore(int $score): self method severity (line 32) | public function severity(Severity $severity): self method __callStatic (line 38) | public static function __callStatic(string $name, array $arguments): self method validate (line 43) | public function validate(string $attribute, mixed $value, Closure $fai... FILE: src/Testing/BlaspFake.php class BlaspFake (line 9) | class BlaspFake method __construct (line 14) | public function __construct(array $fakeResults = []) method check (line 19) | public function check(?string $text): Result method checkMany (line 31) | public function checkMany(array $texts): array method assertChecked (line 40) | public function assertChecked(): void method assertCheckedTimes (line 45) | public function assertCheckedTimes(int $times): void method assertCheckedWith (line 54) | public function assertCheckedWith(string $text): void method __call (line 60) | public function __call(string $method, array $parameters): self method in (line 65) | public function in(string ...$languages): self method inAllLanguages (line 70) | public function inAllLanguages(): self method allLanguages (line 75) | public function allLanguages(): self method english (line 80) | public function english(): self method spanish (line 85) | public function spanish(): self method german (line 90) | public function german(): self method french (line 95) | public function french(): self method mask (line 100) | public function mask(string $mask): self method maskWith (line 105) | public function maskWith(string $character): self method language (line 110) | public function language(string $language): self method driver (line 115) | public function driver(string $driver): self method configure (line 120) | public function configure(?array $profanities = null, ?array $falsePos... FILE: tests/AllLanguagesApiTest.php class AllLanguagesApiTest (line 7) | class AllLanguagesApiTest extends TestCase method test_all_languages_detection (line 9) | public function test_all_languages_detection() method test_mixed_language_content (line 28) | public function test_mixed_language_content() method test_chainable_all_languages (line 36) | public function test_chainable_all_languages() method test_language_shortcuts_vs_all (line 42) | public function test_language_shortcuts_vs_all() method test_direct_manager_all_languages (line 58) | public function test_direct_manager_all_languages() method test_configure_with_all_languages (line 66) | public function test_configure_with_all_languages() FILE: tests/AllLanguagesDetectionTest.php class AllLanguagesDetectionTest (line 7) | class AllLanguagesDetectionTest extends TestCase method test_all_languages_profanity_detection (line 9) | public function test_all_languages_profanity_detection() method test_language_variations (line 64) | public function test_language_variations() method test_language_normalizers (line 100) | public function test_language_normalizers() FILE: tests/BladeDirectiveTest.php class BladeDirectiveTest (line 7) | class BladeDirectiveTest extends TestCase method renderBlade (line 9) | protected function renderBlade(string $template, array $data = []): st... method test_clean_directive_masks_profane_text (line 19) | public function test_clean_directive_masks_profane_text() method test_clean_directive_passes_clean_text_unchanged (line 27) | public function test_clean_directive_passes_clean_text_unchanged() method test_clean_directive_escapes_html_for_xss_safety (line 34) | public function test_clean_directive_escapes_html_for_xss_safety() FILE: tests/BlaspCheckTest.php class BlaspCheckTest (line 7) | class BlaspCheckTest extends TestCase method test_real_blasp_service (line 9) | public function test_real_blasp_service() method test_straight_match (line 15) | public function test_straight_match() method test_substitution_match (line 25) | public function test_substitution_match() method test_obscured_match (line 35) | public function test_obscured_match() method test_doubled_match (line 45) | public function test_doubled_match() method test_combination_match (line 55) | public function test_combination_match() method test_multiple_profanities_no_spaces (line 65) | public function test_multiple_profanities_no_spaces() method test_multiple_profanities (line 75) | public function test_multiple_profanities() method test_scunthorpe_problem (line 84) | public function test_scunthorpe_problem() method test_penistone_problem (line 94) | public function test_penistone_problem() method test_false_positives (line 104) | public function test_false_positives() method test_cuntfuck_fuckcunt (line 122) | public function test_cuntfuck_fuckcunt() method test_fucking_shit_cunt_fuck (line 131) | public function test_fucking_shit_cunt_fuck() method test_billy_butcher (line 140) | public function test_billy_butcher() method test_paragraph (line 149) | public function test_paragraph() method test_word_boudary (line 163) | public function test_word_boudary() method test_pural_profanity (line 175) | public function test_pural_profanity() method test_this_musicals_hit (line 184) | public function test_this_musicals_hit() method test_ass_subtitution (line 193) | public function test_ass_subtitution() method test_embedded_profanities (line 202) | public function test_embedded_profanities() method test_multiple_profanities_with_spaces (line 211) | public function test_multiple_profanities_with_spaces() method test_spaced_profanity_with_substitution (line 220) | public function test_spaced_profanity_with_substitution() method test_spaced_profanity_without_substitution (line 227) | public function test_spaced_profanity_without_substitution() method test_partial_spacing_s_hit (line 233) | public function test_partial_spacing_s_hit() method test_partial_spacing_f_uck (line 240) | public function test_partial_spacing_f_uck() method test_partial_spacing_t_wat (line 247) | public function test_partial_spacing_t_wat() method test_partial_spacing_fu_c_k (line 254) | public function test_partial_spacing_fu_c_k() method test_partial_spacing_tw_a_t (line 261) | public function test_partial_spacing_tw_a_t() method test_no_false_positive_musicals_hit_embedded (line 268) | public function test_no_false_positive_musicals_hit_embedded() method test_no_false_positive_an_alert (line 275) | public function test_no_false_positive_an_alert() method test_no_false_positive_has_5_faces (line 282) | public function test_no_false_positive_has_5_faces() method test_detects_at_ss_obfuscation (line 289) | public function test_detects_at_ss_obfuscation() method test_no_false_positive_space_words (line 295) | public function test_no_false_positive_space_words() FILE: tests/BlaspCheckValidationTest.php class BlaspCheckValidationTest (line 6) | class BlaspCheckValidationTest extends TestCase method test_blasp_check_validation_passes_with_clean_text (line 13) | public function test_blasp_check_validation_passes_with_clean_text() method test_blasp_check_validation_fails_with_profanity (line 29) | public function test_blasp_check_validation_fails_with_profanity() FILE: tests/BlaspableTest.php class BlaspableTestModel (line 14) | class BlaspableTestModel extends Model class BlaspableRejectModel (line 25) | class BlaspableRejectModel extends Model class BlaspableSpanishModel (line 37) | class BlaspableSpanishModel extends Model class BlaspableCustomMaskModel (line 49) | class BlaspableCustomMaskModel extends Model class BlaspableTest (line 61) | class BlaspableTest extends TestCase method setUp (line 63) | protected function setUp(): void method tearDown (line 75) | protected function tearDown(): void method test_sanitize_mode_masks_profanity_on_save (line 81) | public function test_sanitize_mode_masks_profanity_on_save() method test_reject_mode_throws_exception (line 94) | public function test_reject_mode_throws_exception() method test_reject_mode_does_not_persist_model (line 105) | public function test_reject_mode_does_not_persist_model() method test_clean_text_passes_through_untouched (line 118) | public function test_clean_text_passes_through_untouched() method test_only_dirty_attributes_are_checked (line 129) | public function test_only_dirty_attributes_are_checked() method test_non_blaspable_attributes_are_ignored (line 144) | public function test_non_blaspable_attributes_are_ignored() method test_per_model_language_override (line 154) | public function test_per_model_language_override() method test_per_model_mask_override (line 164) | public function test_per_model_mask_override() method test_had_profanity_returns_true_when_profanity_detected (line 175) | public function test_had_profanity_returns_true_when_profanity_detected() method test_had_profanity_returns_false_for_clean_text (line 184) | public function test_had_profanity_returns_false_for_clean_text() method test_blasp_results_returns_results_array (line 193) | public function test_blasp_results_returns_results_array() method test_blasp_result_returns_single_attribute_result (line 209) | public function test_blasp_result_returns_single_attribute_result() method test_blasp_result_returns_null_for_unknown_attribute (line 221) | public function test_blasp_result_returns_null_for_unknown_attribute() method test_without_blasp_checking_disables_profanity_check (line 230) | public function test_without_blasp_checking_disables_profanity_check() method test_model_profanity_detected_event_fires_in_sanitize_mode (line 242) | public function test_model_profanity_detected_event_fires_in_sanitize_... method test_model_profanity_detected_event_fires_in_reject_mode (line 257) | public function test_model_profanity_detected_event_fires_in_reject_mo... method test_event_not_fired_for_clean_text (line 274) | public function test_event_not_fired_for_clean_text() method test_update_triggers_sanitization (line 285) | public function test_update_triggers_sanitization() method test_multiple_profane_attributes_are_sanitized (line 298) | public function test_multiple_profane_attributes_are_sanitized() method test_null_attributes_are_skipped (line 310) | public function test_null_attributes_are_skipped() method test_profanity_rejected_exception_contains_model_and_attribute (line 321) | public function test_profanity_rejected_exception_contains_model_and_a... FILE: tests/BypassVulnerabilityTest.php class BypassVulnerabilityTest (line 7) | class BypassVulnerabilityTest extends TestCase method test_invisible_separator_in_fuck (line 13) | public function test_invisible_separator_in_fuck() method test_zero_width_space_in_shit (line 20) | public function test_zero_width_space_in_shit() method test_multiple_invisible_chars_in_profanity (line 27) | public function test_multiple_invisible_chars_in_profanity() method test_invisible_chars_in_clean_text_no_false_positive (line 34) | public function test_invisible_chars_in_clean_text_no_false_positive() method test_invisible_separator_clean_output_masks_profanity (line 40) | public function test_invisible_separator_clean_output_masks_profanity() method test_asterisk_censored_fag (line 51) | public function test_asterisk_censored_fag() method test_asterisk_censored_fuck (line 58) | public function test_asterisk_censored_fuck() method test_asterisk_censored_shit (line 64) | public function test_asterisk_censored_shit() method test_asterisk_fully_censored_fuck (line 70) | public function test_asterisk_fully_censored_fuck() method test_asterisk_in_non_profane_word_no_false_positive (line 76) | public function test_asterisk_in_non_profane_word_no_false_positive() method test_invisible_char_plus_asterisk_censoring (line 86) | public function test_invisible_char_plus_asterisk_censoring() FILE: tests/CacheDriverConfigurationTest.php class CacheDriverConfigurationTest (line 9) | class CacheDriverConfigurationTest extends TestCase method setUp (line 11) | public function setUp(): void method test_dictionary_can_be_created_without_cache (line 18) | public function test_dictionary_can_be_created_without_cache(): void method test_clear_cache_works (line 28) | public function test_clear_cache_works(): void method test_dictionary_loads_consistently (line 34) | public function test_dictionary_loads_consistently(): void method test_different_languages_have_different_profanities (line 43) | public function test_different_languages_have_different_profanities():... method test_clear_cache_with_custom_driver (line 51) | public function test_clear_cache_with_custom_driver(): void FILE: tests/ConfigurationLoaderLanguageTest.php class ConfigurationLoaderLanguageTest (line 11) | class ConfigurationLoaderLanguageTest extends TestCase method test_get_available_languages (line 13) | public function test_get_available_languages() method test_load_specific_language_english (line 24) | public function test_load_specific_language_english() method test_load_specific_language_spanish (line 39) | public function test_load_specific_language_spanish() method test_load_specific_language_french (line 56) | public function test_load_specific_language_french() method test_load_specific_language_german (line 74) | public function test_load_specific_language_german() method test_load_nonexistent_language (line 93) | public function test_load_nonexistent_language() method test_normalizer_for_languages (line 99) | public function test_normalizer_for_languages() method test_language_substitutions_are_merged (line 107) | public function test_language_substitutions_are_merged() FILE: tests/ConfigurationLoaderTest.php class ConfigurationLoaderTest (line 8) | class ConfigurationLoaderTest extends TestCase method setUp (line 10) | public function setUp(): void method test_for_language_returns_dictionary (line 17) | public function test_for_language_returns_dictionary() method test_dictionary_has_profanity_expressions (line 26) | public function test_dictionary_has_profanity_expressions() method test_for_languages_returns_multi_language_dictionary (line 37) | public function test_for_languages_returns_multi_language_dictionary() method test_for_all_languages_returns_all_language_dictionary (line 46) | public function test_for_all_languages_returns_all_language_dictionary() method test_allow_list_removes_words (line 57) | public function test_allow_list_removes_words() method test_block_list_adds_words (line 65) | public function test_block_list_adds_words() method test_severity_map_is_populated (line 72) | public function test_severity_map_is_populated() method test_clear_cache (line 80) | public function test_clear_cache() method test_get_available_languages (line 86) | public function test_get_available_languages() method test_load_language_config (line 97) | public function test_load_language_config() method test_load_nonexistent_language_config (line 106) | public function test_load_nonexistent_language_config() method test_normalizer_is_set (line 114) | public function test_normalizer_is_set() method test_separators_and_substitutions_loaded (line 121) | public function test_separators_and_substitutions_loaded() FILE: tests/CustomMaskCharacterTest.php class CustomMaskCharacterTest (line 7) | class CustomMaskCharacterTest extends TestCase method test_default_mask_character_is_asterisk (line 9) | public function test_default_mask_character_is_asterisk() method test_custom_mask_character_with_hash (line 15) | public function test_custom_mask_character_with_hash() method test_custom_mask_character_with_dash (line 21) | public function test_custom_mask_character_with_dash() method test_custom_mask_character_with_underscore (line 27) | public function test_custom_mask_character_with_underscore() method test_custom_mask_character_with_unicode (line 33) | public function test_custom_mask_character_with_unicode() method test_custom_mask_character_only_uses_first_character (line 39) | public function test_custom_mask_character_only_uses_first_character() method test_mask_character_can_be_chained_with_language (line 45) | public function test_mask_character_can_be_chained_with_language() method test_mask_character_works_with_multiple_profanities (line 51) | public function test_mask_character_works_with_multiple_profanities() method test_mask_character_with_block_list (line 58) | public function test_mask_character_with_block_list() method test_different_mask_characters_can_be_used_independently (line 64) | public function test_different_mask_characters_can_be_used_independent... FILE: tests/DetectionStrategyRegistryTest.php class DetectionStrategyRegistryTest (line 14) | class DetectionStrategyRegistryTest extends TestCase method setUp (line 18) | public function setUp(): void method test_default_driver_is_regex (line 24) | public function test_default_driver_is_regex() method test_resolve_regex_driver (line 29) | public function test_resolve_regex_driver() method test_resolve_pattern_driver (line 35) | public function test_resolve_pattern_driver() method test_resolve_unknown_driver_throws_exception (line 41) | public function test_resolve_unknown_driver_throws_exception() method test_extend_registers_custom_driver (line 47) | public function test_extend_registers_custom_driver() method test_manager_check_returns_result (line 62) | public function test_manager_check_returns_result() method test_manager_creates_pending_check (line 69) | public function test_manager_creates_pending_check() method test_driver_method_returns_pending_check (line 75) | public function test_driver_method_returns_pending_check() FILE: tests/EdgeCaseTest.php class EdgeCaseTest (line 7) | class EdgeCaseTest extends TestCase method test_fuckme_not_detected_across_word_boundaries (line 9) | public function test_fuckme_not_detected_across_word_boundaries() method test_removed_compound_profanities_not_detected (line 23) | public function test_removed_compound_profanities_not_detected() method test_legitimate_compound_profanities_still_work (line 34) | public function test_legitimate_compound_profanities_still_work() FILE: tests/EmptyInputTest.php class EmptyInputTest (line 7) | class EmptyInputTest extends TestCase method test_empty_string_returns_no_profanity (line 9) | public function test_empty_string_returns_no_profanity() method test_empty_string_returns_empty_source_and_clean_strings (line 18) | public function test_empty_string_returns_empty_source_and_clean_strin... method test_null_returns_no_profanity (line 26) | public function test_null_returns_no_profanity() method test_profanity_still_detected_after_empty_check (line 35) | public function test_profanity_still_detected_after_empty_check() FILE: tests/FrenchStringNormalizerTest.php class FrenchStringNormalizerTest (line 7) | class FrenchStringNormalizerTest extends TestCase method setUp (line 11) | public function setUp(): void method test_normalize_accented_vowels (line 17) | public function test_normalize_accented_vowels() method test_normalize_cedilla (line 26) | public function test_normalize_cedilla() method test_normalize_ligatures (line 33) | public function test_normalize_ligatures() method test_normalize_french_profanity_variants (line 40) | public function test_normalize_french_profanity_variants() method test_normalize_circumflex_accent (line 49) | public function test_normalize_circumflex_accent() method test_normalize_grave_accent (line 58) | public function test_normalize_grave_accent() method test_normalize_acute_accent (line 67) | public function test_normalize_acute_accent() method test_normalize_diaeresis (line 76) | public function test_normalize_diaeresis() method test_normalize_mixed_case_preservation (line 85) | public function test_normalize_mixed_case_preservation() method test_normalize_preserves_non_french_characters (line 93) | public function test_normalize_preserves_non_french_characters() method test_normalize_empty_and_special_strings (line 100) | public function test_normalize_empty_and_special_strings() method test_normalize_complex_french_text (line 108) | public function test_normalize_complex_french_text() method test_normalize_all_french_accents (line 115) | public function test_normalize_all_french_accents() method test_normalize_numbers_and_special_chars (line 145) | public function test_normalize_numbers_and_special_chars() method test_normalize_french_profanities_from_config (line 152) | public function test_normalize_french_profanities_from_config() FILE: tests/GermanStringNormalizerTest.php class GermanStringNormalizerTest (line 7) | class GermanStringNormalizerTest extends TestCase method setUp (line 11) | public function setUp(): void method test_normalize_umlauts (line 17) | public function test_normalize_umlauts() method test_normalize_eszett (line 27) | public function test_normalize_eszett() method test_normalize_sch_combinations (line 35) | public function test_normalize_sch_combinations() method test_normalize_german_profanity_variants (line 42) | public function test_normalize_german_profanity_variants() method test_normalize_preserves_non_german_characters (line 50) | public function test_normalize_preserves_non_german_characters() method test_normalize_mixed_case_preservation (line 56) | public function test_normalize_mixed_case_preservation() method test_normalize_empty_and_special_strings (line 63) | public function test_normalize_empty_and_special_strings() FILE: tests/Issue24Test.php class Issue24Test (line 7) | class Issue24Test extends TestCase method test_etre_not_flagged_as_profanity (line 9) | public function test_etre_not_flagged_as_profanity() method test_are_accent_not_flagged (line 15) | public function test_are_accent_not_flagged() method test_tete_not_flagged (line 21) | public function test_tete_not_flagged() method test_actual_profanity_still_detected (line 27) | public function test_actual_profanity_still_detected() FILE: tests/Issue32FalsePositiveTest.php class Issue32FalsePositiveTest (line 8) | class Issue32FalsePositiveTest extends TestCase method test_legitimate_words_not_flagged (line 10) | #[DataProvider('legitimateWordsProvider')] method legitimateWordsProvider (line 20) | public static function legitimateWordsProvider(): array method test_actual_profanity_still_detected (line 36) | public function test_actual_profanity_still_detected() FILE: tests/MiddlewareAliasTest.php class MiddlewareAliasTest (line 7) | class MiddlewareAliasTest extends TestCase method test_blasp_alias_resolves_to_check_profanity_middleware (line 9) | public function test_blasp_alias_resolves_to_check_profanity_middleware() FILE: tests/MultiLanguageDetectionConfigTest.php class MultiLanguageDetectionConfigTest (line 8) | class MultiLanguageDetectionConfigTest extends TestCase method test_for_language_sets_language (line 10) | public function test_for_language_sets_language() method test_for_languages_merges_profanities (line 16) | public function test_for_languages_merges_profanities() method test_for_all_languages_includes_all (line 25) | public function test_for_all_languages_includes_all() method test_profanity_expressions_generated (line 36) | public function test_profanity_expressions_generated() method test_severity_map_populated (line 46) | public function test_severity_map_populated() method test_false_positives_loaded (line 54) | public function test_false_positives_loaded() method test_allow_list_removes_profanities (line 64) | public function test_allow_list_removes_profanities() method test_block_list_adds_profanities (line 71) | public function test_block_list_adds_profanities() method test_block_list_gets_severity (line 78) | public function test_block_list_gets_severity() method test_separators_and_substitutions_present (line 86) | public function test_separators_and_substitutions_present() FILE: tests/MultiLanguageProfanityTest.php class MultiLanguageProfanityTest (line 8) | class MultiLanguageProfanityTest extends TestCase method test_english_profanities (line 10) | public function test_english_profanities() method test_spanish_profanities (line 26) | public function test_spanish_profanities() method test_german_profanities (line 41) | public function test_german_profanities() method test_french_profanities (line 57) | public function test_french_profanities() method test_profanity_variations (line 72) | public function test_profanity_variations() method test_case_insensitivity (line 90) | public function test_case_insensitivity() method test_false_positives_not_flagged (line 110) | public function test_false_positives_not_flagged() method test_comprehensive_language_coverage (line 123) | public function test_comprehensive_language_coverage() FILE: tests/PhoneticDriverTest.php class PhoneticDriverTest (line 9) | class PhoneticDriverTest extends TestCase method setUp (line 11) | protected function setUp(): void method test_matcher_exact_profanity_match (line 47) | public function test_matcher_exact_profanity_match() method test_matcher_phonetic_variant_detection (line 55) | public function test_matcher_phonetic_variant_detection() method test_matcher_short_word_skipping (line 64) | public function test_matcher_short_word_skipping() method test_matcher_phonetic_false_positive_respected (line 72) | public function test_matcher_phonetic_false_positive_respected() method test_matcher_high_levenshtein_distance_rejection (line 82) | public function test_matcher_high_levenshtein_distance_rejection() method test_resolves_from_manager (line 97) | public function test_resolves_from_manager() method test_detects_standard_profanity (line 104) | public function test_detects_standard_profanity() method test_detects_phonetic_evasion (line 112) | public function test_detects_phonetic_evasion() method test_returns_correct_clean_text_with_masking (line 128) | public function test_returns_correct_clean_text_with_masking() method test_handles_empty_text (line 136) | public function test_handles_empty_text() method test_respects_severity_filter (line 145) | public function test_respects_severity_filter() method test_respects_dictionary_false_positives (line 155) | public function test_respects_dictionary_false_positives() method test_multiple_profanities_in_one_text (line 162) | public function test_multiple_profanities_in_one_text() method test_unsupported_language_returns_clean_result (line 170) | public function test_unsupported_language_returns_clean_result() method test_fork_is_not_flagged (line 183) | public function test_fork_is_not_flagged() method test_beach_is_not_flagged (line 190) | public function test_beach_is_not_flagged() method test_sheet_is_not_flagged (line 197) | public function test_sheet_is_not_flagged() method test_duck_is_not_flagged (line 204) | public function test_duck_is_not_flagged() method test_count_is_not_flagged (line 211) | public function test_count_is_not_flagged() FILE: tests/PipelineDriverTest.php class PipelineDriverTest (line 9) | class PipelineDriverTest extends TestCase method setUp (line 11) | protected function setUp(): void method test_resolves_from_manager_via_driver_name (line 50) | public function test_resolves_from_manager_via_driver_name() method test_ad_hoc_pipeline_via_facade (line 57) | public function test_ad_hoc_pipeline_via_facade() method test_catches_obfuscated_text_via_regex (line 68) | public function test_catches_obfuscated_text_via_regex() method test_catches_phonetic_evasion (line 76) | public function test_catches_phonetic_evasion() method test_catches_exact_match_via_pattern (line 83) | public function test_catches_exact_match_via_pattern() method test_same_word_at_same_position_only_counted_once (line 94) | public function test_same_word_at_same_position_only_counted_once() method test_clean_text_masks_applied_correctly (line 108) | public function test_clean_text_masks_applied_correctly() method test_clean_text_with_multiple_matches (line 117) | public function test_clean_text_with_multiple_matches() method test_score_recalculated_from_merged_matches (line 130) | public function test_score_recalculated_from_merged_matches() method test_empty_text_returns_clean_result (line 142) | public function test_empty_text_returns_clean_result() method test_single_driver_pipeline_matches_standalone (line 156) | public function test_single_driver_pipeline_matches_standalone() method test_severity_filter_applies_across_merged_result (line 170) | public function test_severity_filter_applies_across_merged_result() method test_works_with_language_selection (line 184) | public function test_works_with_language_selection() method test_works_with_custom_mask_character (line 197) | public function test_works_with_custom_mask_character() method test_works_with_allow_list (line 212) | public function test_works_with_allow_list() method test_works_with_block_list (line 222) | public function test_works_with_block_list() method test_original_text_preserved (line 235) | public function test_original_text_preserved() method test_pipeline_with_pattern_and_phonetic (line 247) | public function test_pipeline_with_pattern_and_phonetic() method test_clean_input_returns_unchanged (line 262) | public function test_clean_input_returns_unchanged() FILE: tests/ProfanityExpressionGeneratorTest.php class ProfanityExpressionGeneratorTest (line 7) | class ProfanityExpressionGeneratorTest extends TestCase method setUp (line 11) | public function setUp(): void method test_generate_separator_expression (line 17) | public function test_generate_separator_expression() method test_generate_substitution_expressions (line 25) | public function test_generate_substitution_expressions() method test_generate_profanity_expression_simple (line 41) | public function test_generate_profanity_expression_simple() method test_generate_expressions_full_flow (line 62) | public function test_generate_expressions_full_flow() method test_generated_expressions_match_profanities (line 92) | public function test_generated_expressions_match_profanities() method test_separator_expression_with_various_chars (line 116) | public function test_separator_expression_with_various_chars() method test_generate_expressions_with_multi_char_substitutions (line 133) | public function test_generate_expressions_with_multi_char_substitutions() method test_expressions_are_case_insensitive (line 154) | public function test_expressions_are_case_insensitive() method test_empty_arrays_handling (line 176) | public function test_empty_arrays_handling() method test_complex_profanity_patterns (line 190) | public function test_complex_profanity_patterns() method test_circular_substitutions_produce_valid_regex (line 222) | public function test_circular_substitutions_produce_valid_regex() method test_basic_profanity_matching (line 238) | public function test_basic_profanity_matching() FILE: tests/ResultCachingTest.php class ResultCachingTest (line 11) | class ResultCachingTest extends TestCase method setUp (line 13) | protected function setUp(): void method test_results_are_cached (line 23) | public function test_results_are_cached(): void method test_cache_key_varies_by_language (line 39) | public function test_cache_key_varies_by_language(): void method test_cache_key_varies_by_severity (line 53) | public function test_cache_key_varies_by_severity(): void method test_cache_key_varies_by_allow_list (line 63) | public function test_cache_key_varies_by_allow_list(): void method test_cache_key_varies_by_block_list (line 72) | public function test_cache_key_varies_by_block_list(): void method test_cache_key_varies_by_driver (line 81) | public function test_cache_key_varies_by_driver(): void method test_callback_mask_bypasses_cache (line 94) | public function test_callback_mask_bypasses_cache(): void method test_clear_cache_wipes_result_cache (line 103) | public function test_clear_cache_wipes_result_cache(): void method test_disabling_results_config_skips_caching (line 121) | public function test_disabling_results_config_skips_caching(): void method test_disabling_cache_entirely_skips_caching (line 131) | public function test_disabling_cache_entirely_skips_caching(): void method test_cached_results_deserialize_correctly (line 141) | public function test_cached_results_deserialize_correctly(): void method test_clean_text_is_not_cached_incorrectly (line 157) | public function test_clean_text_is_not_cached_incorrectly(): void FILE: tests/SeverityMapTest.php class SeverityMapTest (line 8) | class SeverityMapTest extends TestCase method test_spanish_mild_words_filtered_by_moderate_severity (line 12) | public function test_spanish_mild_words_filtered_by_moderate_severity(... method test_spanish_moderate_words_caught_at_moderate_severity (line 19) | public function test_spanish_moderate_words_caught_at_moderate_severit... method test_spanish_moderate_words_filtered_by_high_severity (line 26) | public function test_spanish_moderate_words_filtered_by_high_severity(... method test_spanish_default_high_words_caught (line 33) | public function test_spanish_default_high_words_caught(): void method test_spanish_extreme_words_caught_at_extreme (line 40) | public function test_spanish_extreme_words_caught_at_extreme(): void method test_spanish_high_words_filtered_by_extreme (line 46) | public function test_spanish_high_words_filtered_by_extreme(): void method test_french_mild_words_filtered_by_moderate_severity (line 55) | public function test_french_mild_words_filtered_by_moderate_severity()... method test_french_moderate_words_caught_at_moderate_severity (line 62) | public function test_french_moderate_words_caught_at_moderate_severity... method test_french_moderate_words_filtered_by_high_severity (line 69) | public function test_french_moderate_words_filtered_by_high_severity()... method test_french_default_high_words_caught (line 76) | public function test_french_default_high_words_caught(): void method test_french_extreme_words_caught_at_extreme (line 83) | public function test_french_extreme_words_caught_at_extreme(): void method test_french_high_words_filtered_by_extreme (line 89) | public function test_french_high_words_filtered_by_extreme(): void method test_german_mild_words_filtered_by_moderate_severity (line 98) | public function test_german_mild_words_filtered_by_moderate_severity()... method test_german_moderate_words_caught_at_moderate_severity (line 105) | public function test_german_moderate_words_caught_at_moderate_severity... method test_german_moderate_words_filtered_by_high_severity (line 112) | public function test_german_moderate_words_filtered_by_high_severity()... method test_german_default_high_words_caught (line 119) | public function test_german_default_high_words_caught(): void method test_german_extreme_words_caught_at_extreme (line 126) | public function test_german_extreme_words_caught_at_extreme(): void method test_german_high_words_filtered_by_extreme (line 132) | public function test_german_high_words_filtered_by_extreme(): void method test_unmapped_words_default_to_high_across_languages (line 141) | public function test_unmapped_words_default_to_high_across_languages()... FILE: tests/SpanishStringNormalizerTest.php class SpanishStringNormalizerTest (line 7) | class SpanishStringNormalizerTest extends TestCase method setUp (line 11) | public function setUp(): void method test_normalize_accented_vowels (line 17) | public function test_normalize_accented_vowels() method test_normalize_enye_character (line 24) | public function test_normalize_enye_character() method test_normalize_double_l (line 31) | public function test_normalize_double_l() method test_normalize_double_r (line 38) | public function test_normalize_double_r() method test_normalize_spanish_profanity_variants (line 45) | public function test_normalize_spanish_profanity_variants() method test_normalize_preserves_non_spanish_characters (line 52) | public function test_normalize_preserves_non_spanish_characters() method test_normalize_mixed_case_preservation (line 58) | public function test_normalize_mixed_case_preservation() method test_normalize_empty_and_special_strings (line 65) | public function test_normalize_empty_and_special_strings() FILE: tests/StrMacroTest.php class StrMacroTest (line 8) | class StrMacroTest extends TestCase method test_str_is_profane_returns_true_for_profane_text (line 10) | public function test_str_is_profane_returns_true_for_profane_text() method test_str_is_profane_returns_false_for_clean_text (line 15) | public function test_str_is_profane_returns_false_for_clean_text() method test_str_clean_profanity_masks_profane_text (line 20) | public function test_str_clean_profanity_masks_profane_text() method test_str_clean_profanity_returns_clean_text_unchanged (line 28) | public function test_str_clean_profanity_returns_clean_text_unchanged() method test_stringable_is_profane_returns_true_for_profane_text (line 33) | public function test_stringable_is_profane_returns_true_for_profane_te... method test_stringable_is_profane_returns_false_for_clean_text (line 38) | public function test_stringable_is_profane_returns_false_for_clean_text() method test_stringable_clean_profanity_returns_stringable_instance (line 43) | public function test_stringable_clean_profanity_returns_stringable_ins... method test_stringable_clean_profanity_returns_clean_text_unchanged (line 52) | public function test_stringable_clean_profanity_returns_clean_text_unc... FILE: tests/TestCase.php class TestCase (line 9) | abstract class TestCase extends BaseTestCase method getPackageProviders (line 12) | protected function getPackageProviders($app) method setUp (line 19) | protected function setUp(): void FILE: tests/UuidFalsePositiveTest.php class UuidFalsePositiveTest (line 7) | class UuidFalsePositiveTest extends TestCase method test_uuid_not_flagged_as_profanity (line 9) | public function test_uuid_not_flagged_as_profanity() method test_hex_string_not_flagged (line 15) | public function test_hex_string_not_flagged() method test_profanity_alongside_uuid_still_detected (line 21) | public function test_profanity_alongside_uuid_still_detected() method test_standalone_profanity_still_detected (line 28) | public function test_standalone_profanity_still_detected() method test_normal_profanity_detection_unaffected (line 34) | public function test_normal_profanity_detection_unaffected() method test_uuid_in_sentence_not_flagged (line 40) | public function test_uuid_in_sentence_not_flagged() method test_short_hex_does_not_suppress_profanity (line 46) | public function test_short_hex_does_not_suppress_profanity() method test_pure_letter_hex_does_not_suppress_profanity (line 52) | public function test_pure_letter_hex_does_not_suppress_profanity() method test_md5_hash_not_flagged (line 59) | public function test_md5_hash_not_flagged() method test_multiple_uuids_not_flagged (line 65) | public function test_multiple_uuids_not_flagged()