<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.php.phpunit.devel">
    <title>gmane.comp.php.phpunit.devel</title>
    <link>http://blog.gmane.org/gmane.comp.php.phpunit.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/2004"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1996"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1995"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1994"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1993"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1992"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1988"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1983"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1982"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1980"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1979"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1978"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1977"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1976"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1971"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1969"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1966"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1953"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1952"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1950"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/2004">
    <title>The mailinglist will be discontinued</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/2004</link>
    <description>&lt;pre&gt; Hello!

 The mailserver that is used to serve this mailinglist will soon be
 retired by Tobias Schlitt, who graciously donated it for the last couple
 of years.

 As the traffic on the PHPUnit mailinglists is not anymore what it used
 to be, I decided to discontinue them in favour of IRC, Twitter,
 StackOverflow, etc.

 Best,
Sebastian

&lt;/pre&gt;</description>
    <dc:creator>Sebastian Bergmann</dc:creator>
    <dc:date>2012-01-14T10:37:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1996">
    <title>assertIsSubset</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1996</link>
    <description>&lt;pre&gt;Hi chaps,
I've just forked phpunit and added new assert for checking if a
$expected value is a subset of $actual.
Works with objects and arrays.

Make sense if you want to test you code but don't want to write 10
lines of assertEquals for individual fields.

example usage
{{{
$expected = array(
 'id' =&amp;gt; 7,
 'nodes' =&amp;gt; array(
  array('id' =&amp;gt; 3),
  array('id' =&amp;gt; 12),
 )
);
$actual = $myAPI-&amp;gt;myCall();

$this-&amp;gt;assertIsSubset($expected, $actual);
}}}

Whole idea is that your API might change over time (new fields in
response, ...) but this particular test doesn't care about whole
response. It's just checking if $actual variable meets the minimum
requirements.

What do you think? Can you see it useful?
I would love to hear some feedback.

https://github.com/hoborglabs/phpunit

Cheers,
W
--
Wojtek Oledzki
hoborglabs.com

&lt;/pre&gt;</description>
    <dc:creator>Wojtek O</dc:creator>
    <dc:date>2011-09-29T05:26:11</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1995">
    <title>assertIsSubset</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1995</link>
    <description>&lt;pre&gt;Hi chaps,
I've just forked phpunit and added new assert for checking if a
$expected value is a subset of $actual.
Works with objects and arrays.

Make sense if you want to test you code but don't want to write 10
lines of assertEquals for individual fields.

example usage
{{{
$expected = array(
 'id' =&amp;gt; 7,
 'nodes' =&amp;gt; array(
  array('id' =&amp;gt; 3),
  array('id' =&amp;gt; 12),
 )
);
$actual = $myAPI-&amp;gt;myCall();

$this-&amp;gt;assertIsSubset($expected, $actual);
}}}

Whole idea is that your API might change over time (new fields in
response, ...) but this particular test doesn't care about whole
response. It's just checking if $actual variable meets the minimum
requirements.

What do you think? Can you see it useful?
I would love to hear some feedback.

Cheers,
W
--
Wojtek Oledzki
hoborglabs.com

&lt;/pre&gt;</description>
    <dc:creator>Wojtek Oledzki</dc:creator>
    <dc:date>2011-09-28T18:16:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1994">
    <title>Selenium PHP Support</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1994</link>
    <description>&lt;pre&gt;Hi there,

I've read that the support of PHP in Selenium is deprecated. I would
like to know what this means with PHPUnit SeleniumTestCase for the future.

Thanks,
Nicolas Terray

PS: Maybe this has been already addressed, where can I read the archives
of this list?

&lt;/pre&gt;</description>
    <dc:creator>Nicolas Terray</dc:creator>
    <dc:date>2011-09-28T14:47:51</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1993">
    <title>assertIsSubset</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1993</link>
    <description>&lt;pre&gt;Hi chaps,
I've just forked phpunit and added new assert for checking if a
$expected value is a subset of $actual.
Works with objects and arrays.

Make sense if you want to test you code but don't want to write 10
lines of assertEquals for individual fields.

example usage
{{{
$expected = array(
 'id' =&amp;gt; 7,
 'nodes' =&amp;gt; array(
   array('id' =&amp;gt; 3),
   array('id' =&amp;gt; 12),
 )
);
$actual = $myAPI-&amp;gt;myCall();

$this-&amp;gt;assertIsSubset($expected, $actual);
}}}

Whole idea is that your API might change over time (new fields in
response, ...) but this particular test doesn't care about whole
response. It's just checking if $actual variable meets the minimum
requirements.

What do you think? Can you see it useful?
I would love to hear some feedback.

Cheers,
W
--
Wojtek Oledzki
hoborglabs.com

&lt;/pre&gt;</description>
    <dc:creator>Wojtek O</dc:creator>
    <dc:date>2011-09-28T08:33:51</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1992">
    <title>assertIsSubset</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1992</link>
    <description>&lt;pre&gt;Hi chaps,
I've just forked phpunit and added new assert for checking if a
$expected value is a subset of $actual.
Works with objects and arrays.

Make sense if you want to test you code but don't want to write 10
lines of assertEquals for individual fields.

example usage
{{{
$expected = array(
  'id' =&amp;gt; 7,
  'nodes' =&amp;gt; array(
    array('id' =&amp;gt; 3),
    array('id' =&amp;gt; 12),
  )
);
$actual = $myAPI-&amp;gt;myCall();

$this-&amp;gt;assertIsSubset($expected, $actual);
}}}

Whole idea is that your API might change over time (new fields in
response, ...) but this particular test doesn't care about whole
response. It's just checking if $actual variable meets the minimum
requirements.

What do you think? Can you see it useful?
I would love to hear some feedback.

Cheers,
W
&lt;/pre&gt;</description>
    <dc:creator>Wojtek Oledzki</dc:creator>
    <dc:date>2011-09-28T07:45:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1988">
    <title>one question about phpunit</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1988</link>
    <description>&lt;pre&gt;Hi phpunit specialists,


When I designed tests through phpunit, One failure occurred. 
test file: testFile.php
one test function, for example testFunction1()
run: phpunit testFile.php

The line 49, 50, there are 2 assertion, they should be failed all, but the report only tell one, ignor the other.

also I see one option for phpunit --stop-on-failure, seems it does not work,
 though I assigned FALSE to stop-on-failure, (/usr/share/php/PHPUnit/TextUI/Command.php)

Are there any guys can help me? thank you very much.

Thanks,

Best Regards,
-----------------------------------------------------------------
Larry Shi(Shi Yao-Bin)
Open Source Program Office (EB-BAS-BECOM-BJ)
China Hewlett-Packard
yao-bin.shi&amp;lt; at &amp;gt;hp.com
------------------------------------------------------------------


&lt;/pre&gt;</description>
    <dc:creator>Shi, Yao-Bin (Larry&lt; at &gt;EB-BAS-BECOM-BJ</dc:creator>
    <dc:date>2010-11-18T01:44:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1983">
    <title>PHPUnit packages and PEAR (installer) minimal version required</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1983</link>
    <description>&lt;pre&gt;Latest packages available in PHPUnit channel require PEAR installer &amp;gt;=
1.9.1.

I have made tests and don't encounter any issue with previous version.

Can you consider keeping this version as low as possible, and only raise
this when a bug in pear installer affects your packages ?

Why ?

For now, RHEL-6 (in RC stage) provides PEAR 1.9.0, and will probably
keep this version for the distro life, like RHEL-5 stay in 1.4.9 :(
(security bug, if discovered, will be backport without changing version)

We have a lot of PHPUnit package in EPEL repository for RHEL-6 (and for
the future clone, like CentOS 6), maintains by 3 packagers :

php-phpunit-bytekit 1.1.1
php-phpunit-DbUnit 1.0.0
php-phpunit-File-Iterator 1.2.3
php-phpunit-PHP-CodeCoverage 1.0.0
php-phpunit-PHP-Timer 1.0.0
php-phpunit-PHP-TokenStream 1.0.1
php-phpunit-phpcpd 1.3.2
php-phpunit-phpdcd 0.9.2
php-phpunit-PHPUnit 3.5.3
php-phpunit-PHPUnit-MockObject 1.0.1
php-phpunit-PHPUnit-Selenium 1.0.0
php-phpunit-Text-Template 1.0.0

Note : to push this versions, we have to hack the package.xml to lower
the PEAR 1.9.1 requirement to 1.9.0

I think it is really useful for a developer to have this tools available
in the distro repository.

This is also mandatory, for maintainer, to be able to run phpunit test
suite during the build of others packages.

This is also, I think, useful for your project notability and QA (the
package maintainer always try to do lot of test before pushing a new
version to the repository).


I hope you can consider this request,
Regards

Remi

&lt;/pre&gt;</description>
    <dc:creator>Remi Collet</dc:creator>
    <dc:date>2010-11-07T07:43:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1982">
    <title>Pull requests</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1982</link>
    <description>&lt;pre&gt;Hi Sebastian (and anyone who has had a pull request accepted),

What steps should I take to submit a pull request that is likely to be
accepted? I'm new to Git but think I've got the hang of it (mostly). I added
two features to PHPUnit and PHP_CodeCoverage and submitted a request about
three months ago:

1. Allow &amp;lt; at &amp;gt;covers annotations to specify files (detected by looking for a
dot). The current directory and include path are searched for the file. The
file is automatically added to the whitelist.

2. Allow &amp;lt; at &amp;gt;covers annotations to be added at runtime via
$this-&amp;gt;addCoveredElement($element).

We use these to allow for code coverage against view scripts (phtml). My
HGM_Test_Zend_Case_View base class uses the name of the test class to locate
the file and adds it as being covered. Since the view script files lack
classes and methods, this works great without forcing the developer to
specify the file manually for each test case.

I created the features against 3.5.0 and submitted a pull request. While
they are separate commits, I submitted a single request because they were
related and touched the same code paths. I did these in the master branch,
but now I'm thinking it may have been better to create a feature branch. At
the time, all tests passed, but since I didn't have vfsStream installed many
were skipped. The other day I installed vfsStream and noticed that those
skipped tests were in fact testing the &amp;lt; at &amp;gt;covers annotations. Oops! I have
since updated my fork to the latest code, added tests specific to the
&amp;lt; at &amp;gt;covers &amp;lt;file&amp;gt; feature, and made sure *all* tests pass.

What more can I do to get these features included? They seem useful to more
than two or three other people, and the changes are fairly small. Please
help as maintaining a private fork of the two projects and helping each
developer manually install them instead of using PEAR is frustrating.

Thank you very much,
David
&lt;/pre&gt;</description>
    <dc:creator>David Harkness</dc:creator>
    <dc:date>2010-11-05T22:45:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1980">
    <title>Introduce myself and first question related to packaging</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1980</link>
    <description>&lt;pre&gt;Hi,

I'm a fedora packager and I maintain a lot of php stuff in official 
repository (fedora and EPEL) [1]

Among this PHPUnit.

I also maintain a backport repository, mainly for LAMP stuff which is 
very usefull for Redhat / CentOS where official versions are quite 
outdated. [2]

I'm working on packaging the latest PHPUnit version for fedora.
So I have a few questions

- dbunit include PHP/CodeCoverage/Filter.php

But this is not added in the required package in the xml file

- dbunit include PHPUnit/Autoload.php

This means that dbunit requires PHPUnit, which seems ok for an extension 
of PHPUnit. But, according to the xml file, PHPUnit requires dbunit. 
This create a impossible to resolve circular dependency.

I understand than PHPunit requires all his extension to make install 
simpler for users. In this case, should an Autoload package be created ?

Regards
Remi.



[1] 
https://admin.fedoraproject.org/pkgdb/users/packages/remi?tg_paginate_limit=0
[2] http://rpms.famillecollet.com/

&lt;/pre&gt;</description>
    <dc:creator>Remi Collet</dc:creator>
    <dc:date>2010-09-26T09:11:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1979">
    <title>Broken pipes with process isolation &lt; at &gt; windows vista/ windows 7</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1979</link>
    <description>&lt;pre&gt;Hi.

Do not know why, but sometimes phpunit or windows itself consequently messes up with pipes while process isolation is activated. It shows up the following errors on some of our big projects (in this example 1 to 4 are regular test case errors):

PHPUnit 3.4.15 by Sebastian Bergmann. .........................E..EE.................EEEEEEEEEEEEE 60 / 63 EEE Time: 26 seconds, Memory: 12.00Mb There were 19 errors: [...]5) BGH_Core_Modules_ModuleDescriptorTest::testEquals RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 6) BGH_Core_Modules_ModuleNameTest::testConstructor RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 7) BGH_Core_Modules_ModuleNameTest::testNormal RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 8) BGH_Core_Modules_ModuleNameTest::testToString RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 9) BGH_Core_Modules_VersionTest::testConstructor RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 10) BGH_Core_Modules_VersionTest::testConstructorMix RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 11) BGH_Core_Modules_VersionTest::testStringConstructor RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 12) BGH_Core_Modules_VersionTest::testNumericConstructor RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 13) BGH_Core_Modules_VersionTest::testInvalidArguments RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 14) BGH_Core_Modules_VersionTest::testEquals RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 15) BGH_Core_Modules_VersionTest::testCompareTo RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 16) BGH_Core_Modules_VersionTest::testCompareToInvalidArg RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 17) BGH_Core_Modules_VersionTest::testEqualsStringArg RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 18) BGH_Core_Modules_VersionTest::testEqualsInvalidStringArg RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 19) BGH_Core_Modules_VersionTest::testToString RuntimeException: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in C:\dev\ws\r_p\bgh\bgh_php_lib\- on line 133 [37;41m[2KFAILURES! [0m[37;41m[2KTests: 63, Assertions: 537, Errors: 19. [0m[2K Writing code coverage data to XML file, this may take a moment. Generating code coverage report, this may take a moment.


I changed the code in PHPUnit_Util_PHP a little bit to use a temprary file and not the pipe. That solved the problem. But is is somehow strange since may be a phantom bug. I am starting phpunit.bat from within eclipse. Restarting eclipse solves the problem for about one hour.

public static function runJob($job) { $fname = tempnam(getcwd(), 'phpunit_testcase_'); $testf = fopen($fname, "w+"); fwrite($testf, $job); fclose($testf); $process = proc_open( self::getPhpBinary(), self::$descriptorSpec, $pipes ); if (is_resource($process)) { // fwrite($pipes[0], $job);fclose($pipes[0]); $stdout = stream_get_contents($pipes[1]); fclose($pipes[1]); $stderr = stream_get_contents($pipes[2]); fclose($pipes[2]); proc_close($process); unlink($fname); return array('stdout' =&amp;gt; $stdout, 'stderr' =&amp;gt; $stderr); } unlink ($fname); }

Ciao
Martin

&lt;/pre&gt;</description>
    <dc:creator>Martin Eisengardt</dc:creator>
    <dc:date>2010-09-13T08:47:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1978">
    <title>Problems with syntax check &lt; at &gt; vista/windows 7</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1978</link>
    <description>&lt;pre&gt;Hi.


I got some problems with vista and windows 7 (64 bit).
PHPUnit: 3.4.15
Running phpunit.bat in my project directory as external tool from within eclipse.

As soon as I activate syntax checking in my phpunit.xml it results in errors right before the tests are running. The syntax check itself fails. The problem is simple: PHPUnit_Util_PHP::getPhpBinary() returns quotes, f.e. "C:\php\php.exe" and those result in double quotes that windows do not understand.

Changing line 135 in Fileloader.php to
$command = trim(PHPUnit_Util_PHP::getPhpBinary(), "\"");
fixed the problem for me. Maybe you could have a look at this problem and probvide a smarter fix.

Ciao
Martin

&lt;/pre&gt;</description>
    <dc:creator>Martin Eisengardt</dc:creator>
    <dc:date>2010-09-13T07:50:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1977">
    <title>issue</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1977</link>
    <description>&lt;pre&gt;hi there,
i try to launch a phpuint AllTests.php and i get the following error :

[INFO]  ExecutePHP UNIT with command 'phpunit.bat
--log-junit=C:\ms4w\apps\sig_sonar\cartoweb3\projets\ifremer_sig_sih\target\logs\phpunit.xml
--coverage-clover=C:\ms4w\apps\sig_sonar\cartoweb3\projets\ifremer_sig_sih\target\logs\phpunit.coverage.xml
Sig Sonar
C:\ms4w\apps\sig_sonar\cartoweb3\projets\ifremer_sig_sih\src\main\test\php\AllTests.php'

Catchable fatal error: Argument 1 passed to
PHPUnit_Framework_TestSuite::addTest() must implement interface
PHPUnit_Framework_Test, null given, called in
C:\ms4w\Apache\php\PEAR\PHPUnit\Framework\TestSuite.php on line 329 and
defined in C:\ms4w\Apache\php\PEAR\PHPUnit\Framework\TestSuite.php on line
268
[INFO]  PHP UNIT ended with returned code '255'.

no idea from my side, any clue ?
thanks
&lt;/pre&gt;</description>
    <dc:creator>joe lafrite</dc:creator>
    <dc:date>2010-08-31T14:05:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1976">
    <title>&lt; at &gt;covers for files and functions</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1976</link>
    <description>&lt;pre&gt;I've modified PHPUnit_Util_Test to allow

    &amp;lt; at &amp;gt;covers path/to/file/in/include/path.ext

and

    &amp;lt; at &amp;gt;covers function

Functions are self-explanatory, but I needed files to track coverage for our
PHTML view scripts. This works but is suboptimal.

1. The file must be added to the whitelist if you're using one. You cannot
add the entire PHTML directory to the whitelist because any file that isn't
covered at least once will be include'd which causes a fatal error.

2. My custom test case subclass already locates the PHTML using the name of
the test case class. I'd love to have the test case add the file to the
class's list of covered lines without making the developer add an &amp;lt; at &amp;gt;covers
manually. How about adding

    PHPUnit_Framework_TestCase::addCoveredElement(string $element)

to allow programmatic access?

If we can work out these issues, are you open to including this in PHPUnit?
So far it requires this replacement method in PHPUnit_Util_Test and a new
class. I used 3.4.15.

Thanks,
David

------------------- 8&amp;lt; ----------------------------- 8&amp;lt; ------------------

// PHPUnit/Util/Test.php

    private static function
resolveCoversToReflectionObjects($coveredElement)
    {
        $codeToCoverList = array();

        if (strpos($coveredElement, '::') !== FALSE) {
            list($className, $methodName) = explode('::', $coveredElement);

            if ($methodName[0] == '&amp;lt;') {
                $classes = array($className);

                foreach ($classes as $className)
                {
                    if (!class_exists($className) &amp;amp;&amp;amp;
                        !interface_exists($className)) {
                        throw new PHPUnit_Framework_Exception(
                          sprintf(
                            'Trying to &amp;lt; at &amp;gt;cover not existing class or ' .
                            'interface "%s".',
                            $className
                          )
                        );
                    }

                    $class   = new ReflectionClass($className);
                    $methods = $class-&amp;gt;getMethods();
                    $inverse = isset($methodName[1]) &amp;amp;&amp;amp; $methodName[1] ==
'!';

                    if (strpos($methodName, 'protected')) {
                        $visibility = 'isProtected';
                    }

                    else if (strpos($methodName, 'private')) {
                        $visibility = 'isPrivate';
                    }

                    else if (strpos($methodName, 'public')) {
                        $visibility = 'isPublic';
                    }

                    foreach ($methods as $method) {
                        if ($inverse &amp;amp;&amp;amp; !$method-&amp;gt;$visibility()) {
                            $codeToCoverList[] = $method;
                        }

                        else if (!$inverse &amp;amp;&amp;amp; $method-&amp;gt;$visibility()) {
                            $codeToCoverList[] = $method;
                        }
                    }
                }
            } else {
                $classes = array($className);

                foreach ($classes as $className) {
                    if (!((class_exists($className) ||
                           interface_exists($className)) &amp;amp;&amp;amp;
                          method_exists($className, $methodName))) {
                        throw new PHPUnit_Framework_Exception(
                          sprintf(
                            'Trying to &amp;lt; at &amp;gt;cover not existing method
"%s::%s".',
                            $className,
                            $methodName
                          )
                        );
                    }

                    $codeToCoverList[] = new ReflectionMethod(
                      $className, $methodName
                    );
                }
            }
        } elseif (strpos($coveredElement, '.') !== FALSE) {
            $found = FALSE;

            foreach (explode(PATH_SEPARATOR, get_include_path()) as $path) {
                $file = realpath($path . DIRECTORY_SEPARATOR .
$coveredElement);
                if (is_file($file)) {
                    $found = TRUE;
                    break;
                }
            }

            if (!$found) {
                throw new PHPUnit_Framework_Exception(
                  sprintf(
                    'Trying to &amp;lt; at &amp;gt;cover not existing file "%s".',
                    $coveredElement
                  )
                );
            }

            $codeToCoverList[] = new PHPUnit_Util_ReflectionFile($file);
            PHPUnit_Util_Filter::addFileToWhitelist($file);
        } else {
            $extended = FALSE;

            if (strpos($coveredElement, '&amp;lt;extended&amp;gt;') !== FALSE) {
                $coveredElement = str_replace(
                  '&amp;lt;extended&amp;gt;', '', $coveredElement
                );

                $extended = TRUE;
            }

            if (class_exists($coveredElement) ||
interface_exists($coveredElement)) {
                $classes = array($coveredElement);

                if ($extended) {
                    $classes = array_merge(
                      $classes,
                      class_implements($coveredElement),
                      class_parents($coveredElement)
                    );
                }

                foreach ($classes as $className) {
                    if (!class_exists($className) &amp;amp;&amp;amp;
                        !interface_exists($className)) {
                        throw new PHPUnit_Framework_Exception(
                          sprintf(
                            'Trying to &amp;lt; at &amp;gt;cover not existing class or ' .
                            'interface "%s".',
                            $className
                          )
                        );
                    }

                    $codeToCoverList[] = new ReflectionClass($className);
                }
            } elseif (function_exists($coveredElement)) {
                $codeToCoverList[] = new
ReflectionFunction($coveredElement);
            } else {
                throw new PHPUnit_Framework_Exception(
                  sprintf(
                    'Trying to &amp;lt; at &amp;gt;cover not existing class, interface, or ' .
                    'function "%s".',
                    $coveredElement
                  )
                );
            }
        }

        return $codeToCoverList;
    }

------------------- 8&amp;lt; ----------------------------- 8&amp;lt; ------------------

// PHPUnit/Util/ReflectionFile.php

&amp;lt;?php

require_once 'PHPUnit/Util/Filter.php';

PHPUnit_Util_Filter::addFileToFilter(__FILE__, 'PHPUNIT');

/**
 * Represents a file that contains PHP code.
 *
 * &amp;lt; at &amp;gt;category   Testing
 * &amp;lt; at &amp;gt;package    PHPUnit
 * &amp;lt; at &amp;gt;author     David Harkness &amp;lt;dharkness&amp;lt; at &amp;gt;gmail.com&amp;gt;
 * &amp;lt; at &amp;gt;copyright  2002-2010 Sebastian Bergmann &amp;lt;sb&amp;lt; at &amp;gt;sebastian-bergmann.de&amp;gt;
 * &amp;lt; at &amp;gt;license    http://www.opensource.org/licenses/bsd-license.php  BSD
License
 * &amp;lt; at &amp;gt;version    Release: 3.4.15
 * &amp;lt; at &amp;gt;link       http://www.phpunit.de/
 * &amp;lt; at &amp;gt;since      Class available since Release 3.4.16
 */
class PHPUnit_Util_ReflectionFile implements Reflector
{
    /**
     * &amp;lt; at &amp;gt;var string
     */
    private $_file = null;

    /**
     * &amp;lt; at &amp;gt;var int|null
     */
    private $_numLines = null;

    public function __construct($file) {
        if (!is_file($file)) {
            throw new PHPUnit_Framework_Exception(
              sprintf(
                'File not found "%s".',
                $file
              )
            );
        }

        $this-&amp;gt;_file = $file;
    }

    public function getFileName() {
        return $this-&amp;gt;_file;
    }

    public function getName() {
        return $this-&amp;gt;_file;
    }

    public function getShortName() {
        return basename($this-&amp;gt;_file);
    }

    public function getStartLine() {
        return 1;
    }

    public function getEndLine() {
        if (is_null($this-&amp;gt;_numLines)) {
            $this-&amp;gt;_numLines = count(file($this-&amp;gt;_file));
        }
        return $this-&amp;gt;_numLines;
    }

    public function __toString() {
        return 'File [ ' . $this-&amp;gt;_file . ' ]';
    }


    public static function export($reflectionFile) {
        /* not used */
    }
}
?&amp;gt;
&lt;/pre&gt;</description>
    <dc:creator>David Harkness</dc:creator>
    <dc:date>2010-08-06T22:19:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1971">
    <title>Enhancing assertion failure messages with context via SelfDescribing</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1971</link>
    <description>&lt;pre&gt;Hi guys,

One of the things I've added to my controller test case base class is a slew
of assertions that validate a value in the view. They work exactly like the
assertAttributeXXX() family of assertions in that they grab a value from the
view and perform an assertion on it. When the view doesn't have the value
the assertion failure is descriptive

    Failed asserting the view has a value for "foo".

But just as with assertAttributeXXX() if the XXX assertion fails you lose
the context of which attribute was being accessed.

    Failed asserting that &amp;lt;string:foo&amp;gt; equals &amp;lt;string:bar&amp;gt;.

What I'd like to see is this

    Failed asserting that view attribute "foo" with value &amp;lt;string:foo&amp;gt;
equals &amp;lt;string:bar&amp;gt;.

One way to do this would be to allow the $actual values passed to other
assertions to check if the object implements an interface that extends
SelfDescribing to add a getValue() method. All of the code in
readAttribute() would go into getValue() and toString() would build the
string

    attribute "$name" of [class|object] with value [value]

Since this object is passed as $actual to assertXXX(), it can call
getValue() to perform the assertion and if it fails, AssertionFailedError
(or whatever class builds the failure message) can call toString() to get
the description.

Is this something that belongs more to Hamcrest? Speaking of Hamcrest, is
that still the plan for PHPUnit 4.0?

Thanks,
David
&lt;/pre&gt;</description>
    <dc:creator>David Harkness</dc:creator>
    <dc:date>2010-06-09T22:48:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1969">
    <title>Hamcrest and PHPMock?</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1969</link>
    <description>&lt;pre&gt;Hi,

I see there's a ticket to support Hamcrest and PHPMock in PHPUnit 4, but I
cannot find any activity on these projects post 2008. Are they moving
forward? Can I help?

    Ticket: http://www.phpunit.de/ticket/334
    Hamcrest: http://hamcrest.googlecode.com/
    PHPMock: http://code.google.com/p/phpmock/

Hamcrest seems to have a complete set of matchers. Is anyone currently using
it with PHPUnit 3.4?

Thanks,
David

Senior Software Engineer
High Gear Media, Inc.
&lt;/pre&gt;</description>
    <dc:creator>David Harkness</dc:creator>
    <dc:date>2010-03-12T23:31:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1966">
    <title>How to remove a directoy from code coverage</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1966</link>
    <description>&lt;pre&gt;Hi,

I saw that there is a class PHPUnit_Util_Filter which seem to filter 
file from the code coverage.
What is the common way to use this?
Or how to exclude some directory from the code coverage?

Thanks

--Mathieu Suen

&lt;/pre&gt;</description>
    <dc:creator>mathieu.suen</dc:creator>
    <dc:date>2010-02-15T09:16:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1953">
    <title>Coverage format output</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1953</link>
    <description>&lt;pre&gt;-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi there,

since I always get an error when I want to create a ticket in the trac I
post my feature request here. ;)

It would be awesome to have cobertura xml report output of the coverage
data. I think it would help my users, since clover is commercial and
cobertura is opensource and well supported by many build systems and
continuous integration servers.
I would think of using hudson and sonar (both java tools) to check the
quality of our php code.

I would like to contribute this addition if no one else does, but then I
 may need some help to get started coding for phpunit. I read that the
coverage code was refactored lately into a separate project. Where to
find the code?

Regards
Markus Wolf
- --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkthSdkACgkQeyJE91ndMG7qYQCfe8FfBfyi9/dQrIU1hqlxadcc
PBsAn1OBkQ/L4Jl+bJE9SCobZTyN/Dm+
=t748
-----END PGP SIGNATURE-----

&lt;/pre&gt;</description>
    <dc:creator>Markus Wolf</dc:creator>
    <dc:date>2010-01-28T08:24:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1952">
    <title>Patch for PHP bug: accessing elements in objects cast to arrays</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1952</link>
    <description>&lt;pre&gt;I wrote a patch for PHPUnit for the (known) PHP bug outlined here: 
http://bugs.php.net/bug.php?id=46758. Basically, if you have an object 
with numeric properties and then cast to an array, accessing those 
properties is difficult and buggy. Here's an example script that 
illustrates this:

$foo = new stdClass();
$foo-&amp;gt;{0} = 'foo';
$a = (array)$foo;
var_dump($a, key($a), array_key_exists('0', $a), 
array_key_exists(key($a), $a));

This will output

array(1) {
  ["0"]=&amp;gt;
  string(3) "foo"
}
string(1) "0"
bool(false)
bool(false)

Anyway, I wrote a patch for the IsEqual constraint to handle these weird 
situations, but I noticed that PHPUnit is now on Git rather than SVN, 
and I don't really want to spend a couple hours right now learning Git, 
so I thought I'd just send the patch here. The patch is attached and is 
for PHPUnit 3.4.9.

Thanks,
Tommy

--- IsEqual.php2010-01-23 14:56:28.512006000 -0800
+++ IsEqual - Copy.php2010-01-23 14:57:11.552481600 -0800
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -319,7 +319,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             return ($a == $b);
         }
 
-        if (is_object($a)) {
+        $aIsObject = is_object($a);
+        $bIsObject = is_object($b);
+        if ($aIsObject) {
             $isMock = $a instanceof PHPUnit_Framework_MockObject_MockObject;
             $a      = (array)$a;
             $b      = (array)$b;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -334,6 +336,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         }
 
         foreach ($a as $key =&amp;gt; $v) {
+            if ($aIsObject &amp;amp;&amp;amp; is_numeric($key)) {
+                //handle inaccessible numeric keys, see http://bugs.php.net/bug.php?id=46758
+
+                //manually "re"setting the array indices here makes array_key_exists() work with these indices.
+                //however, unset() still won't work.
+                $a[$key] = $v;
+
+                if ($bIsObject) {
+                    //find the same key in $b and "re"set it as well, only necessary if $b was an object
+                    foreach ($b as $bkey =&amp;gt; $bv) {
+                        if ($bkey == $key) {
+                            $b[$key] = $bv;
+                            break;
+                        }
+                    }
+                }
+            }
+
             if (!array_key_exists($key, $b)) {
                 // Abort on missing key in $b.
                 return FALSE;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -349,8 +369,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         }
 
         if (count($b)) {
-            // There is something in $b, that is missing in $a.
-            return FALSE;
+            if ($bIsObject) {
+                //cannot unset() numeric keys, so we have to manually handle that here
+                foreach ($b as $key =&amp;gt; $v) {
+                    if (!is_numeric($key)) {
+                        // There is something in $b, that is missing in $a.
+                        return false;
+                    }
+                }
+            } else {
+                return false;
+            }
         }
 
         return TRUE;
&lt;/pre&gt;</description>
    <dc:creator>Tommy Montgomery</dc:creator>
    <dc:date>2010-01-23T23:01:06</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1950">
    <title>Customize phpunit output</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1950</link>
    <description>&lt;pre&gt;Hi,

I would like to customize the output of phpunit.
One way could be to make a subclass of PHPUnit_TexUI_ResultPrinter but
I have no clue on how to inject the subclass.
Any idea?

Thanks

&lt;/pre&gt;</description>
    <dc:creator>Mathieu Suen</dc:creator>
    <dc:date>2009-12-08T15:15:51</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.php.phpunit.devel/1948">
    <title>Fix to Bug #593</title>
    <link>http://comments.gmane.org/gmane.comp.php.phpunit.devel/1948</link>
    <description>&lt;pre&gt;
Some time ago I corrected the bug #593. 
I created a Patch amd mailed it to Mr Bergmann, probably I´ve messed it up 
in some way, but the fact is that I never got an answer, probably because 
mr. Bergmann never got the message anyway.

Can anyone here direct me on how I must proceed to send the code to 
anyone who can integrate it?

Regards,

Norival








&lt;/pre&gt;</description>
    <dc:creator>Norival Toniato Junior</dc:creator>
    <dc:date>2009-12-02T19:42:00</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.php.phpunit.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.php.phpunit.devel</link>
  </textinput>
</rdf:RDF>

