1..39
# ::escape()
# ::escape() does not escape special values
ok 1 - ::escape() returns null if the value to escape is null
ok 2 - ::escape() returns false if the value to escape is false
ok 3 - ::escape() returns true if the value to escape is true
# ::escape() does not escape a value when escaping method is ESC_RAW
ok 4 - ::escape() takes an escaping strategy function name as its first argument
# ::escape() escapes strings
ok 5 - ::escape() returns an escaped string if the value to escape is a string
ok 6 - ::escape() returns an escaped string if the value to escape is a string
# ::escape() escapes arrays
ok 7 - ::escape() returns a sfOutputEscaperArrayDecorator object if the value to escape is an array
ok 8 - ::escape() escapes all elements of the original array
ok 9 - ::escape() is recursive
ok 10 - ->getRawValue() returns the unescaped value
# ::escape() escapes objects
ok 11 - ::escape() returns a sfOutputEscaperObjectDecorator object if the value to escape is an object
ok 12 - ::escape() escapes all methods of the original object
ok 13 - ::escape() escapes all properties of the original object
ok 14 - ::escape() is recursive
ok 15 - ->getRawValue() returns the unescaped value
ok 16 - ::escape() does not double escape an object
ok 17 - ::escape() returns a sfOutputEscaperIteratorDecorator object if the value to escape is an object that implements the ArrayAccess interface
# ::escape() does not escape object marked as being safe
ok 18 - ::escape() returns the original value if it is marked as being safe
ok 19 - ::escape() returns the original value if the object class is marked as being safe
ok 20 - ::escape() returns the original value if one of the object parent class is marked as being safe
# ::escape() cannot escape resources
ok 21 - ::escape() throws an InvalidArgumentException if the value cannot be escaped
# ::unescape()
# ::unescape() does not unescape special values
ok 22 - ::unescape() returns null if the value to unescape is null
ok 23 - ::unescape() returns false if the value to unescape is false
ok 24 - ::unescape() returns true if the value to unescape is true
# ::unescape() unescapes strings
ok 25 - ::unescape() returns an unescaped string if the value to unescape is a string
ok 26 - ::unescape() returns an unescaped string if the value to unescape is a string
# ::unescape() unescapes arrays
ok 27 - ::unescape() returns an array if the input is a sfOutputEscaperArrayDecorator object
ok 28 - ::unescape() unescapes all elements of the original array
ok 29 - ::unescape() is recursive
# ::unescape() unescapes objects
ok 30 - ::unescape() returns the original object when a sfOutputEscaperObjectDecorator object is passed
ok 31 - ::unescape() unescapes all methods of the original object
ok 32 - ::unescape() unescapes all properties of the original object
ok 33 - ::unescape() is recursive
ok 34 - ::unescape() unescapes sfOutputEscaperIteratorDecorator objects
# ::unescape() does not unescape object marked as being safe
ok 35 - ::unescape() returns the original value if it is marked as being safe
ok 36 - ::unescape() returns the original value if the object class is marked as being safe
ok 37 - ::unescape() returns the original value if one of the object parent class is marked as being safe
# ::unescape() do nothing to resources
ok 38 - ::unescape() do nothing to resources
# ::unescape() unescapes mixed arrays
ok 39 - ::unescape() unescapes values with some escaped and unescaped values
# Looks like everything went fine.