1..11 # __construct() ok 1 - __construct() throws an RuntimeException if you don't pass a pattern option # ->clean() ok 2 - ->clean() checks that the value match the regex ok 3 - ->clean() throws an sfValidatorError if the value does not match the pattern ok 4 - ->clean() throws a sfValidatorError ok 5 - ->clean() checks that the value does not match the regex if must_match is false ok 6 - ->clean() throws an sfValidatorError if the value matches the pattern if must_match is false ok 7 - ->clean() throws a sfValidatorError ok 8 - ->clean() uses the pattern returned by a sfCallable pattern option # ->asString() ok 9 - ->asString() returns a string representation of the validator # ->getPattern() ok 10 - ->getPattern() returns the regular expression ok 11 - ->getPattern() returns a regular expression from a sfCallable # Looks like everything went fine.