Update: This has been fixed:

http://framework.zend.com/issues/browse/ZF-9244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

--
Hector


On Mon, Feb 22, 2010 at 2:53 PM, Hector Virgen <[email protected]> wrote:

> In the case of Zend_Dom_Query and warnings raised by DOMDocument, would it
> be a bad idea to capture the warnings and store them in an array?
>
> BTW I found a dirty, filthy workaround for my problem with javascript in
> the template... I updated the script to look like this, and now there are no
> more complaints from DOMDocument:
>
> <script type="text/javascript">
> //<![CDATA[
> document.write('<*'+'*a href="?enhanced=1" class="switch_modes">Switch to
> Enhanced Mode<*'+'*/a>');
> //]]>
> </script>
>
> But normally I don't think I should have to do this, so capturing the
> errors would be really nice as to not upset PHPUnit.
>
> --
> Hector
>
>
>
> On Mon, Feb 22, 2010 at 2:44 PM, Andrew Ballard <[email protected]>wrote:
>
>> On Mon, Feb 22, 2010 at 5:13 PM, Hector Virgen <[email protected]>
>> wrote:
>> > It's amazing what a simple "@" can do to a line of code in PHP :)
>> > hvir...@hector-mac:~/Web/library/ZendFramework-1.10.1$ svn diff -r
>> > 20701:21134 library/Zend/Dom/Query.php
>> > Index: library/Zend/Dom/Query.php
>> > ===================================================================
>> > --- library/Zend/Dom/Query.php
>> > (.../branches/release-1.10/library/Zend/Dom/Query.php) (revision 20701)
>> > +++ library/Zend/Dom/Query.php
>> > (.../tags/release-1.10.1/library/Zend/Dom/Query.php) (revision 21134)
>> > @@ -178,12 +178,12 @@
>> >          $type   = $this->getDocumentType();
>> >          switch ($type) {
>> >              case self::DOC_XML:
>> > -                $success = @$domDoc->loadXML($document);
>> > +                $success = $domDoc->loadXML($document);
>> >                  break;
>> >              case self::DOC_HTML:
>> >              case self::DOC_XHTML:
>> >              default:
>> > -                $success = @$domDoc->loadHTML($document);
>> > +                $success = $domDoc->loadHTML($document);
>> >                  break;
>> >          }
>> > So this explains why it worked in 1.10.0 and not in 1.10.1. Since
>> PHPUnit
>> > automatically promotes all warnings to exceptions, errors in loading the
>> > HTML causes PHPUnit tests to fail.
>> > As mentioned in the DOMDocument documentation (ha, what a mouthful!),
>> > perhaps ZF should be handling these errors with a custom error handler:
>> > http://us3.php.net/manual/en/domdocument.loadhtml.php
>> > It seems the issue tracker is being worked on at the moment so I'll wait
>> > until later to file the bug.
>> > --
>> > Hector
>>
>> I recently reported a similar issue (that has since been fixed) with
>> Zend_Db_Adapter_Sqlsrv. In my case, it was a warning being generated
>> by the DB adapter constructor that was raising an exception inside a
>> custom error handler in Zend_Session. There are a number of places
>> where ZF classes use the error control operator on function calls to
>> suppress errors or warnings. A problem arises when this happens inside
>> the scope of one of a handful of methods that defines a custom error
>> handler to deal with their own errors and/or warnings.
>>
>> I'm not sure what the best solution is to deal with this, but I think
>> it could use some attention.
>>
>> Andrew
>>
>
>

Reply via email to