1..29 # ->initialize() ok 1 - ->initialize() takes a sfEventDispatcher object as its first argument ok 2 - ->initialize() takes an array of parameters as its second argument # ->getMethod() ->setMethod() ok 3 - ->getMethod() returns the current request method ok 4 - ->setMethod() throws a sfException if the method is not valid # ->extractParameters() ok 5 - ->extractParameters() returns parameters ok 6 - ->extractParameters() returns parameters for keys in its first parameter ok 7 - ->extractParameters() returns parameters for keys in its first parameter # Parameter holder proxy ok 8 - ->getParameterHolder() returns a parameter holder instance ok 9 - ->hasParameter() returns false if the parameter does not exist ok 10 - ->getParameter() returns the default value if parameter does not exist ok 11 - ->hasParameter() returns true if the parameter exists ok 12 - ->hasParameter() is a proxy method ok 13 - ->getParameter() returns the value of the parameter ok 14 - ->getParameter() is a proxy method ok 15 - ->getParameter() does not return the default value if the parameter exists ok 16 - ->setParameter() is a proxy method ok 17 - ->setParameter() is a proxy method # Attribute holder proxy ok 18 - ->getAttributeHolder() returns a parameter holder instance ok 19 - ->hasAttribute() returns false if the attribute does not exist ok 20 - ->getAttribute() returns the default value if attribute does not exist ok 21 - ->hasAttribute() returns true if the attribute exists ok 22 - ->hasAttribute() is a proxy method ok 23 - ->getAttribute() returns the value of the attribute ok 24 - ->getAttribute() is a proxy method ok 25 - ->getAttribute() does not return the default value if the attribute exists ok 26 - ->setAttribute() is a proxy method ok 27 - ->setAttribute() is a proxy method # New methods via sfEventDispatcher ok 28 - __call() accepts new methods via sfEventDispatcher ok 29 - __call() throws an exception if the method does not exist as a sfEventDispatcher listener Looks like everything went fine.