<?xml version="1.0"?>
<?xml-stylesheet
href="http://www.w3.org/2000/08/w3c-synd/style.css" type="text/css"
?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel rdf:about="http://pear.php.net/bugs/search.php">
    <title>PEAR Bug Search Results</title>
    <link>http://pear.php.net/bugs/search.php?cmd=display&amp;package_name%5B0%5D=PHP_CodeSniffer</link>
    <description>Search Results</description>
    <dc:language>en-us</dc:language>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <admin:generatorAgent rdf:resource="http://pear.php.net/bugs"/>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
    <items>
     <rdf:Seq>
      <rdf:li rdf:resource="http://pear.php.net/bug/20509" />
      <rdf:li rdf:resource="http://pear.php.net/bug/20306" />
      <rdf:li rdf:resource="http://pear.php.net/bug/20270" />
      <rdf:li rdf:resource="http://pear.php.net/bug/20220" />
      <rdf:li rdf:resource="http://pear.php.net/bug/20216" />
      <rdf:li rdf:resource="http://pear.php.net/bug/20127" />
      <rdf:li rdf:resource="http://pear.php.net/bug/20126" />
      <rdf:li rdf:resource="http://pear.php.net/bug/20121" />
      <rdf:li rdf:resource="http://pear.php.net/bug/19939" />
      <rdf:li rdf:resource="http://pear.php.net/bug/19404" />
      <rdf:li rdf:resource="http://pear.php.net/bug/18867" />
      <rdf:li rdf:resource="http://pear.php.net/bug/18498" />
      <rdf:li rdf:resource="http://pear.php.net/bug/18468" />
      <rdf:li rdf:resource="http://pear.php.net/bug/13813" />

     </rdf:Seq>
    </items>
  </channel>

  <image rdf:about="http://pear.php.net/gifs/pearsmall.gif">
    <title>PEAR Bugs</title>
    <url>http://pear.php.net/gifs/pearsmall.gif</url>
    <link>http://pear.php.net/bugs</link>
  </image>

    <item rdf:about="http://pear.php.net/bug/20509">
      <title>PHP_CodeSniffer: Feature/Change Request 20509 [Open] Add name-based filter for sniffs such as Generic.Metrics.CyclomaticComplexity</title>
      <link>http://pear.php.net/bugs/20509</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by sebastian
2015-03-02T22:10:12+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 2.2.0

Description:
------------
In a coding standard I want to apply the Generic.Metrics.CyclomaticComplexity and Generic.Metrics.NestingLevel sniffs, for instance, only to specific methods (only public methods where the name starts with a specific prefix, for instance).

It would be nice if all sniffs that hook T_METHOD had support for properties such as

&lt;property name=&quot;methodVisibility&quot; value=&quot;public&quot; /&gt;
&lt;property name=&quot;methodNamePrefix&quot; value=&quot;test&quot; /&gt;</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by sebastian
2015-03-02T22:10:12+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 2.2.0

Description:
------------
In a coding standard I want to apply the Generic.Metrics.CyclomaticComplexity and Generic.Metrics.NestingLevel sniffs, for instance, only to specific methods (only public methods where the name starts with a specific prefix, for instance).

It would be nice if all sniffs that hook T_METHOD had support for properties such as

&lt;property name=&quot;methodVisibility&quot; value=&quot;public&quot; /&gt;
&lt;property name=&quot;methodNamePrefix&quot; value=&quot;test&quot; /&gt;</pre>]]></description>
      <dc:date>2015-03-02T22:10:12+00:00</dc:date>
      <dc:creator>sb &amp;#x61;&amp;#116; sebastian-bergmann &amp;#x64;&amp;#111;&amp;#x74; de</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/20306">
      <title>PHP_CodeSniffer: Feature/Change Request 20306 [Open] Squiz.FunctionComment and array/callable</title>
      <link>http://pear.php.net/bugs/20306</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by aik099
2014-06-22T15:00:32+00:00
PHP: 5.4.20 OS: Linux Package Version: 1.5.3

Description:
------------
The Squiz.FunctionComment sniff has hardcoded checks for 
array/callable types, however it also checks in 
PHP_CodeSniffer::$allowedTypes array where both of them are 
listed: http://screencast.com/t/szbpYSsa

I suggest that you remove hardcoded checks.

Also the &quot;typehint&quot; callable would give Fatal Error in PHP &lt; 5.4, 
but it's a valid in PHPDoc. Sniff still requires &quot;callable&quot; to be used 
which is not good.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by aik099
2014-06-22T15:00:32+00:00
PHP: 5.4.20 OS: Linux Package Version: 1.5.3

Description:
------------
The Squiz.FunctionComment sniff has hardcoded checks for 
array/callable types, however it also checks in 
PHP_CodeSniffer::$allowedTypes array where both of them are 
listed: http://screencast.com/t/szbpYSsa

I suggest that you remove hardcoded checks.

Also the &quot;typehint&quot; callable would give Fatal Error in PHP &lt; 5.4, 
but it's a valid in PHPDoc. Sniff still requires &quot;callable&quot; to be used 
which is not good.</pre>]]></description>
      <dc:date>2014-07-02T12:00:30+00:00</dc:date>
      <dc:creator>aik &amp;#x64;&amp;#111;&amp;#x74; bold &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/20270">
      <title>PHP_CodeSniffer: Feature/Change Request 20270 [Open] Missing docs for Squiz.WhiteSpace.SuperfluousWhitespace</title>
      <link>http://pear.php.net/bugs/20270</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by senyahnoj
2014-05-09T17:15:01+00:00
PHP: 5.5.12 OS: Linux Package Version: 1.5.3

Description:
------------
I have incorporated your very helpful Superfluous whitespace 
sniff into our custom coding standard.

When using the doc generator this function didn't appear as 
there is no SuperfluousWhitespaceStandard.xml file in 
CodeSniffer/Standards/Squiz/Docs/WhiteSpace/

I wrote a quick XML file based on what was written in the sniff 
class which I've attached but I expect you'll want to write your 
own ;)


Test script:
---------------
My custom ruleset.xml has the following node:

&lt;rule ref=&quot;Squiz.WhiteSpace.SuperfluousWhitespace&quot;/&gt;

Then I run:

phpcs --generator=HTML --standard=MyCodingStandard

Expected result:
----------------
I expected to see the Superfluous whitespace function 
documented.

Actual result:
--------------
Superfluous whitespace function did not appear in the outputted 
documentation.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by senyahnoj
2014-05-09T17:15:01+00:00
PHP: 5.5.12 OS: Linux Package Version: 1.5.3

Description:
------------
I have incorporated your very helpful Superfluous whitespace 
sniff into our custom coding standard.

When using the doc generator this function didn't appear as 
there is no SuperfluousWhitespaceStandard.xml file in 
CodeSniffer/Standards/Squiz/Docs/WhiteSpace/

I wrote a quick XML file based on what was written in the sniff 
class which I've attached but I expect you'll want to write your 
own ;)


Test script:
---------------
My custom ruleset.xml has the following node:

&lt;rule ref=&quot;Squiz.WhiteSpace.SuperfluousWhitespace&quot;/&gt;

Then I run:

phpcs --generator=HTML --standard=MyCodingStandard

Expected result:
----------------
I expected to see the Superfluous whitespace function 
documented.

Actual result:
--------------
Superfluous whitespace function did not appear in the outputted 
documentation.</pre>]]></description>
      <dc:date>2014-05-09T17:15:01+00:00</dc:date>
      <dc:creator>jon &amp;#x61;&amp;#116; senyahnoj &amp;#x64;&amp;#111;&amp;#x74; org &amp;#x64;&amp;#111;&amp;#x74; uk</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/20220">
      <title>PHP_CodeSniffer: Feature/Change Request 20220 [Open] Squiz_Sniffs_WhiteSpace_ObjectOperatorSpacingSniff sniff isn't multi-line safe</title>
      <link>http://pear.php.net/bugs/20220</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by aik099
2014-03-17T22:49:48+00:00
PHP: 5.4.20 OS: Slackware Linux Package Version: 1.5.2

Description:
------------
The &quot;Squiz_Sniffs_WhiteSpace_ObjectOperatorSpacingSniff&quot; sniff 
check for &quot;$variable -&gt;method&quot; and for &quot;&quot;$variable-&gt; method&quot; 
violations (space before/after object operator). This is valid, but 
when I'm chaining calls using multiline formatting:

$this-&gt;eventDispatcher
	-&gt;shouldReceive('dispatch')
	-&gt;with($event_name, m::any())
	-&gt;once();

Then sniff reports it as an error. I think, that in such case when 
&quot;-&gt;&quot; is on the different line then the actual variable or previously 
chained method, then this shouldn't be considered as violation.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by aik099
2014-03-17T22:49:48+00:00
PHP: 5.4.20 OS: Slackware Linux Package Version: 1.5.2

Description:
------------
The &quot;Squiz_Sniffs_WhiteSpace_ObjectOperatorSpacingSniff&quot; sniff 
check for &quot;$variable -&gt;method&quot; and for &quot;&quot;$variable-&gt; method&quot; 
violations (space before/after object operator). This is valid, but 
when I'm chaining calls using multiline formatting:

$this-&gt;eventDispatcher
	-&gt;shouldReceive('dispatch')
	-&gt;with($event_name, m::any())
	-&gt;once();

Then sniff reports it as an error. I think, that in such case when 
&quot;-&gt;&quot; is on the different line then the actual variable or previously 
chained method, then this shouldn't be considered as violation.</pre>]]></description>
      <dc:date>2014-03-24T07:25:20+00:00</dc:date>
      <dc:creator>aik &amp;#x64;&amp;#111;&amp;#x74; bold &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/20216">
      <title>PHP_CodeSniffer: Feature/Change Request 20216 [Open] Add support for List declarations</title>
      <link>http://pear.php.net/bugs/20216</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by moorereason
2014-03-08T04:02:38+00:00
PHP: Irrelevant OS: CentOS 6 Package Version: 1.5.2

Description:
------------
The use of a List keyword is not validated in the same way that an Array declaration is.  Lists are only validated as being lowercase (in Generic.PHP.LowerCaseKeyword).

Test script:
---------------
list($a, $b) = foo();  // good
list(,, $a, $b) = foo();  // good

list($a,$b) = foo();  // error - no space after comma
list(,,$a, $b) = foo();  // error - space after open paren

Expected result:
----------------
I expect a List to be validated similarly to an Array (except without the key=&gt;value features).</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by moorereason
2014-03-08T04:02:38+00:00
PHP: Irrelevant OS: CentOS 6 Package Version: 1.5.2

Description:
------------
The use of a List keyword is not validated in the same way that an Array declaration is.  Lists are only validated as being lowercase (in Generic.PHP.LowerCaseKeyword).

Test script:
---------------
list($a, $b) = foo();  // good
list(,, $a, $b) = foo();  // good

list($a,$b) = foo();  // error - no space after comma
list(,,$a, $b) = foo();  // error - space after open paren

Expected result:
----------------
I expect a List to be validated similarly to an Array (except without the key=&gt;value features).</pre>]]></description>
      <dc:date>2014-03-08T04:02:38+00:00</dc:date>
      <dc:creator>moorereason &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/20127">
      <title>PHP_CodeSniffer: Feature/Change Request 20127 [Open] Enable Regex matching for token value</title>
      <link>http://pear.php.net/bugs/20127</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by shadyvb
2013-11-12T07:01:00+00:00
PHP: Irrelevant OS:  Package Version: 1.5.0RC4

Description:
------------
It'd be handy if we can match token values against a regex 
token, instead of a simple string.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by shadyvb
2013-11-12T07:01:00+00:00
PHP: Irrelevant OS:  Package Version: 1.5.0RC4

Description:
------------
It'd be handy if we can match token values against a regex 
token, instead of a simple string.</pre>]]></description>
      <dc:date>2013-11-12T07:01:00+00:00</dc:date>
      <dc:creator>shady &amp;#x61;&amp;#116; x-team &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/20126">
      <title>PHP_CodeSniffer: Feature/Change Request 20126 [Open] Introduce findNextAll</title>
      <link>http://pear.php.net/bugs/20126</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by shadyvb
2013-11-12T06:55:38+00:00
PHP: Irrelevant OS:  Package Version: 1.4.7

Description:
------------
It'd be great if PHPCS has a findNextAll to match against all 
tokens of a specific criteria, just like what preg_match_all does.

The method would still take the same arguments as findNext, 
and will save quite sometime developing new rules, and will 
simplify logic of existing ones as well.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by shadyvb
2013-11-12T06:55:38+00:00
PHP: Irrelevant OS:  Package Version: 1.4.7

Description:
------------
It'd be great if PHPCS has a findNextAll to match against all 
tokens of a specific criteria, just like what preg_match_all does.

The method would still take the same arguments as findNext, 
and will save quite sometime developing new rules, and will 
simplify logic of existing ones as well.</pre>]]></description>
      <dc:date>2013-11-12T06:55:38+00:00</dc:date>
      <dc:creator>shady &amp;#x61;&amp;#116; x-team &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/20121">
      <title>PHP_CodeSniffer: Feature/Change Request 20121 [Open] Overloading of -v option generates unwanted output for svnblame report</title>
      <link>http://pear.php.net/bugs/20121</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by happydog
2013-11-05T21:03:26+00:00
PHP: Irrelevant OS: N/A Package Version: 1.4.7

Description:
------------
Currently, if you want to include all committers in the output of the svnblame report, as opposed to just committers who are responsible for 1 or more sniff errors, then you do this by specifying the -v option.

However, the -v option also controls the general verbosity of code-sniffer.

This therefore generates a lot of unwanted output.

Test script:
---------------
phpcs --report=svnblame -v

Expected result:
----------------
PHP CODE SNIFFER SVN BLAME SUMMARY
--------------------------------------------------------------------------------
AUTHOR   SOURCE                                     (Author %) (Overall %) COUNT
--------------------------------------------------------------------------------
author1                                                    (0.11)        (100)    27
author2                                                    (0)           (0)        0
--------------------------------------------------------------------------------
A TOTAL OF 27 SNIFF VIOLATION(S) WERE COMMITTED BY 2 AUTHOR(S)
--------------------------------------------------------------------------------


Actual result:
--------------
Getting SVN blame info for classCache.php... DONE
Getting SVN blame info for classCacheBackend_filesystem.php... DONE
Getting SVN blame info for classCacheBackend_nocache.php... DONE
Getting SVN blame info for ErrorConstants.php... DONE
Getting SVN blame info for classlibError.php... DONE
Getting SVN blame info for classlibErrorHandling.php... DONE
Getting SVN blame info for Input.php... DONE
Getting SVN blame info for InputConstants.php... DONE
Getting SVN blame info for classInput.php... DONE
Getting SVN blame info for classInputCLI.php... DONE
Getting SVN blame info for classInputWeb.php... DONE
[SNIP]

PHP CODE SNIFFER SVN BLAME SUMMARY
--------------------------------------------------------------------------------
AUTHOR   SOURCE                                     (Author %) (Overall %) COUNT
--------------------------------------------------------------------------------
author1                                                    (0.11)        (100)    27
author2                                                    (0)           (0)        0
--------------------------------------------------------------------------------
A TOTAL OF 27 SNIFF VIOLATION(S) WERE COMMITTED BY 2 AUTHOR(S)
--------------------------------------------------------------------------------




The solution would be to provide an alternative argument for svnblame so that showing all users and showing verbose information are decoupled, e.g.

phpcs --report=svnblame --all-authors</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by happydog
2013-11-05T21:03:26+00:00
PHP: Irrelevant OS: N/A Package Version: 1.4.7

Description:
------------
Currently, if you want to include all committers in the output of the svnblame report, as opposed to just committers who are responsible for 1 or more sniff errors, then you do this by specifying the -v option.

However, the -v option also controls the general verbosity of code-sniffer.

This therefore generates a lot of unwanted output.

Test script:
---------------
phpcs --report=svnblame -v

Expected result:
----------------
PHP CODE SNIFFER SVN BLAME SUMMARY
--------------------------------------------------------------------------------
AUTHOR   SOURCE                                     (Author %) (Overall %) COUNT
--------------------------------------------------------------------------------
author1                                                    (0.11)        (100)    27
author2                                                    (0)           (0)        0
--------------------------------------------------------------------------------
A TOTAL OF 27 SNIFF VIOLATION(S) WERE COMMITTED BY 2 AUTHOR(S)
--------------------------------------------------------------------------------


Actual result:
--------------
Getting SVN blame info for classCache.php... DONE
Getting SVN blame info for classCacheBackend_filesystem.php... DONE
Getting SVN blame info for classCacheBackend_nocache.php... DONE
Getting SVN blame info for ErrorConstants.php... DONE
Getting SVN blame info for classlibError.php... DONE
Getting SVN blame info for classlibErrorHandling.php... DONE
Getting SVN blame info for Input.php... DONE
Getting SVN blame info for InputConstants.php... DONE
Getting SVN blame info for classInput.php... DONE
Getting SVN blame info for classInputCLI.php... DONE
Getting SVN blame info for classInputWeb.php... DONE
[SNIP]

PHP CODE SNIFFER SVN BLAME SUMMARY
--------------------------------------------------------------------------------
AUTHOR   SOURCE                                     (Author %) (Overall %) COUNT
--------------------------------------------------------------------------------
author1                                                    (0.11)        (100)    27
author2                                                    (0)           (0)        0
--------------------------------------------------------------------------------
A TOTAL OF 27 SNIFF VIOLATION(S) WERE COMMITTED BY 2 AUTHOR(S)
--------------------------------------------------------------------------------




The solution would be to provide an alternative argument for svnblame so that showing all users and showing verbose information are decoupled, e.g.

phpcs --report=svnblame --all-authors</pre>]]></description>
      <dc:date>2013-11-05T21:03:26+00:00</dc:date>
      <dc:creator>pear &amp;#x61;&amp;#116; kennel17 &amp;#x64;&amp;#111;&amp;#x74; co &amp;#x64;&amp;#111;&amp;#x74; uk</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/19939">
      <title>PHP_CodeSniffer: Feature/Change Request 19939 [Assigned] No documentation on rules</title>
      <link>http://pear.php.net/bugs/19939</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by astoyan
2013-05-08T01:25:53+00:00
PHP: Irrelevant OS:  Package Version: 1.5.0RC2

Description:
------------
There is a way to define custom ruleset but there is no word 
about what rules are available and what properties they have. 
And developers are supposed to google on some hints, use 
someone's pieces, read source code in order to understand how 
how use this or that rule, or in order to find a rule needed. This is 
just stupid. Was it so hard to put a small txt file with the list of 
rules and their properties?</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by astoyan
2013-05-08T01:25:53+00:00
PHP: Irrelevant OS:  Package Version: 1.5.0RC2

Description:
------------
There is a way to define custom ruleset but there is no word 
about what rules are available and what properties they have. 
And developers are supposed to google on some hints, use 
someone's pieces, read source code in order to understand how 
how use this or that rule, or in order to find a rule needed. This is 
just stupid. Was it so hard to put a small txt file with the list of 
rules and their properties?</pre>]]></description>
      <dc:date>2013-11-27T10:49:03+00:00</dc:date>
      <dc:creator>alexander &amp;#x64;&amp;#111;&amp;#x74; stoyan &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/19404">
      <title>PHP_CodeSniffer: Feature/Change Request 19404 [Assigned] Improve the exact mode of ScopeIndentSniff</title>
      <link>http://pear.php.net/bugs/19404</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by klausi
2012-05-01T06:47:07+00:00
PHP: 5.3.9 OS: Ubuntu 12.04 Package Version: SVN

Description:
------------
If you configure Generic_Sniffs_Whitespace_ScopeIndentSniff with $exact = true; then it will throw a few false positives on multi line statements and T_DOC_COMMENTs.

Here is a valid example that uses an indentation of 2 spaces. I will also attach a patch how I solved it for drupalcs.

Test script:
---------------
class Bar {

  /**
   * Enter description here ...
   */
  public function foo() {
    $result = db_select('node')
      -&gt;condition('type', 'article')
      -&gt;execute();
  }
}

Expected result:
----------------
There should be no indentation error.

Actual result:
--------------
The sniff complains about the indentation of the doc block and the chained method invocations.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by klausi
2012-05-01T06:47:07+00:00
PHP: 5.3.9 OS: Ubuntu 12.04 Package Version: SVN

Description:
------------
If you configure Generic_Sniffs_Whitespace_ScopeIndentSniff with $exact = true; then it will throw a few false positives on multi line statements and T_DOC_COMMENTs.

Here is a valid example that uses an indentation of 2 spaces. I will also attach a patch how I solved it for drupalcs.

Test script:
---------------
class Bar {

  /**
   * Enter description here ...
   */
  public function foo() {
    $result = db_select('node')
      -&gt;condition('type', 'article')
      -&gt;execute();
  }
}

Expected result:
----------------
There should be no indentation error.

Actual result:
--------------
The sniff complains about the indentation of the doc block and the chained method invocations.</pre>]]></description>
      <dc:date>2012-05-08T10:31:08+00:00</dc:date>
      <dc:creator>klaus &amp;#x64;&amp;#111;&amp;#x74; purer &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/18867">
      <title>PHP_CodeSniffer: Feature/Change Request 18867 [Analyzed] No warning that rhino/jslint paths are not set</title>
      <link>http://pear.php.net/bugs/18867</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by cweiske
2011-09-23T19:40:49+00:00
PHP: 5.3.8 OS:  Package Version: 1.3.0

Description:
------------
When using PHP/CodeSniffer/Standards/Squiz/Sniffs/Debug/JSLintSniff.php, I do not get a warning/notice/error when either of the required paths is not set.

I don't have the possibility to find out something is wrong.

When someone uses this sniff, phpcs should tell the error and exit with a non-zero exit code.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by cweiske
2011-09-23T19:40:49+00:00
PHP: 5.3.8 OS:  Package Version: 1.3.0

Description:
------------
When using PHP/CodeSniffer/Standards/Squiz/Sniffs/Debug/JSLintSniff.php, I do not get a warning/notice/error when either of the required paths is not set.

I don't have the possibility to find out something is wrong.

When someone uses this sniff, phpcs should tell the error and exit with a non-zero exit code.</pre>]]></description>
      <dc:date>2011-09-26T08:33:59+00:00</dc:date>
      <dc:creator>cweiske &amp;#x61;&amp;#116; php &amp;#x64;&amp;#111;&amp;#x74; net</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/18498">
      <title>PHP_CodeSniffer: Feature/Change Request 18498 [Open] Update the rhino / jslint</title>
      <link>http://pear.php.net/bugs/18498</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by kingsquare
2011-05-02T17:23:07+00:00
PHP: Irrelevant OS: Ubuntu Package Version: 1.3.0

Description:
------------
Since a while now Douglas Crockford hasnt supported Rhino in 
his JSLint project. Now including support is fairly 
straightforward:
add this piece of javascript to the end of jslint.js (@see 
http://thecodetrain.co.uk/2011/04/making-php-codesniffer-
use-jslint-via-rhino/) :
(function (a) {
    var e, i, input;
    if (!a[0]) {
        print(&quot;Usage: jslint.js file.js&quot;);
        quit(1);
    }
    input = readFile(a[0]);
    if (!input) {
        print(&quot;jslint: Couldn't open file '&quot; + a[0] + &quot;'.&quot;);
        quit(1);
    }
    if (!JSLINT(input, {bitwise: true, eqeqeq: true, immed: true,
            newcap: true, nomen: true, onevar: true, plusplus: 
true,
            regexp: true, rhino: true, undef: true, white: true})) {
        for (i = 0; i &lt; JSLINT.errors.length; i += 1) {
            e = JSLINT.errors[i];
            if (e) {
                print('Lint at line ' + e.line + ' character ' +
                        e.character + ': ' + e.reason);
                print((e.evidence || '').
                        replace(/^\s*(\S*(\s+\S+)*)\s*$/, &quot;$1&quot;));
                print('');
            }
        }
        quit(2);
    } else {
        print(&quot;jslint: No problems found in &quot; + a[0]);
        quit();
    }
}(arguments));

and thats it. But this also includes the various options to be set 
on the JSLint itself.

I've modified this into allowing of sending the actuel JSLint 
configuration object:
// rhino.js
// 2009-09-11
/*
Copyright (c) 2002 Douglas Crockford  (www.JSLint.com) 
Rhino Edition
*/

// This is the Rhino companion to fulljslint.js.

/*global JSLINT */
/*jslint rhino: true, strict: false */

(function (a) {
    var e, i, input, options = {bitwise: true, eqeqeq: true, 
immed: true,
            newcap: true, nomen: true, onevar: true, plusplus: 
true,
            regexp: true, rhino: true, undef: true, white: true};
			
	if (!a[0]) {
        print(&quot;Usage: jslint.js file.js&quot;);
        quit(1);
    }
    input = readFile(a[0]);
    if (!input) {
        print(&quot;jslint: Couldn't open file '&quot; + a[0] + &quot;'.&quot;);
        quit(1);
    }
    if (!JSLINT(input, ((!a[1])?options:a[1]))) {
        for (i = 0; i &lt; JSLINT.errors.length; i += 1) {
            e = JSLINT.errors[i];
            if (e) {
                print('Lint at line ' + e.line + ' character ' +
                        e.character + ': ' + e.reason);
                print((e.evidence || '').
                        replace(/^\s*(\S*(\s+\S+)*)\s*$/, &quot;$1&quot;));
                print('');
            }
        }
        quit(2);
    } else {
        print(&quot;jslint: No problems found in &quot; + a[0]);
        quit();
    }
}(arguments));

This would allow the codesniffer rule to send along its 
configuration:
class Squiz_Sniffs_Debug_JSLintSniff:
public $jsLintConfig = '{bitwise: true, eqeqeq: true, immed: 
true, newcap: true, nomen: true, onevar: true, plusplus: true, 
regexp: true, rhino: true, undef: true, white: true}';
/* .. line 72 ..*/
$cmd = &quot;$rhinoPath \&quot;$jslintPath\&quot; \&quot;$fileName\&quot; \&quot;$this-
&gt;jsLintConfig\&quot;&quot;;

This would allow easier reuse of the sniff via a rule:
&lt;rule ref=&quot;Squiz.Debug.JSLing&quot;&gt;
  &lt;properties&gt;
   &lt;property name=&quot;jsLintConfig&quot; value=&quot;{plusplus: true, 
regexp: true, rhino: true, undef: true, white: true}&quot;/&gt;
 &lt;/properties&gt;
 &lt;/rule&gt;

instead of having to copy/paste the entire sniff just to allow 
the setting of custom configuration.. 

I know the public variable for jsLintConfig is pretty ugly, but 
this way it works and allows for easier reconfiguration</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by kingsquare
2011-05-02T17:23:07+00:00
PHP: Irrelevant OS: Ubuntu Package Version: 1.3.0

Description:
------------
Since a while now Douglas Crockford hasnt supported Rhino in 
his JSLint project. Now including support is fairly 
straightforward:
add this piece of javascript to the end of jslint.js (@see 
http://thecodetrain.co.uk/2011/04/making-php-codesniffer-
use-jslint-via-rhino/) :
(function (a) {
    var e, i, input;
    if (!a[0]) {
        print(&quot;Usage: jslint.js file.js&quot;);
        quit(1);
    }
    input = readFile(a[0]);
    if (!input) {
        print(&quot;jslint: Couldn't open file '&quot; + a[0] + &quot;'.&quot;);
        quit(1);
    }
    if (!JSLINT(input, {bitwise: true, eqeqeq: true, immed: true,
            newcap: true, nomen: true, onevar: true, plusplus: 
true,
            regexp: true, rhino: true, undef: true, white: true})) {
        for (i = 0; i &lt; JSLINT.errors.length; i += 1) {
            e = JSLINT.errors[i];
            if (e) {
                print('Lint at line ' + e.line + ' character ' +
                        e.character + ': ' + e.reason);
                print((e.evidence || '').
                        replace(/^\s*(\S*(\s+\S+)*)\s*$/, &quot;$1&quot;));
                print('');
            }
        }
        quit(2);
    } else {
        print(&quot;jslint: No problems found in &quot; + a[0]);
        quit();
    }
}(arguments));

and thats it. But this also includes the various options to be set 
on the JSLint itself.

I've modified this into allowing of sending the actuel JSLint 
configuration object:
// rhino.js
// 2009-09-11
/*
Copyright (c) 2002 Douglas Crockford  (www.JSLint.com) 
Rhino Edition
*/

// This is the Rhino companion to fulljslint.js.

/*global JSLINT */
/*jslint rhino: true, strict: false */

(function (a) {
    var e, i, input, options = {bitwise: true, eqeqeq: true, 
immed: true,
            newcap: true, nomen: true, onevar: true, plusplus: 
true,
            regexp: true, rhino: true, undef: true, white: true};
			
	if (!a[0]) {
        print(&quot;Usage: jslint.js file.js&quot;);
        quit(1);
    }
    input = readFile(a[0]);
    if (!input) {
        print(&quot;jslint: Couldn't open file '&quot; + a[0] + &quot;'.&quot;);
        quit(1);
    }
    if (!JSLINT(input, ((!a[1])?options:a[1]))) {
        for (i = 0; i &lt; JSLINT.errors.length; i += 1) {
            e = JSLINT.errors[i];
            if (e) {
                print('Lint at line ' + e.line + ' character ' +
                        e.character + ': ' + e.reason);
                print((e.evidence || '').
                        replace(/^\s*(\S*(\s+\S+)*)\s*$/, &quot;$1&quot;));
                print('');
            }
        }
        quit(2);
    } else {
        print(&quot;jslint: No problems found in &quot; + a[0]);
        quit();
    }
}(arguments));

This would allow the codesniffer rule to send along its 
configuration:
class Squiz_Sniffs_Debug_JSLintSniff:
public $jsLintConfig = '{bitwise: true, eqeqeq: true, immed: 
true, newcap: true, nomen: true, onevar: true, plusplus: true, 
regexp: true, rhino: true, undef: true, white: true}';
/* .. line 72 ..*/
$cmd = &quot;$rhinoPath \&quot;$jslintPath\&quot; \&quot;$fileName\&quot; \&quot;$this-
&gt;jsLintConfig\&quot;&quot;;

This would allow easier reuse of the sniff via a rule:
&lt;rule ref=&quot;Squiz.Debug.JSLing&quot;&gt;
  &lt;properties&gt;
   &lt;property name=&quot;jsLintConfig&quot; value=&quot;{plusplus: true, 
regexp: true, rhino: true, undef: true, white: true}&quot;/&gt;
 &lt;/properties&gt;
 &lt;/rule&gt;

instead of having to copy/paste the entire sniff just to allow 
the setting of custom configuration.. 

I know the public variable for jsLintConfig is pretty ugly, but 
this way it works and allows for easier reconfiguration</pre>]]></description>
      <dc:date>2011-05-02T17:23:07+00:00</dc:date>
      <dc:creator>pear &amp;#x61;&amp;#116; kingsquare &amp;#x64;&amp;#111;&amp;#x74; nl</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/18468">
      <title>PHP_CodeSniffer: Feature/Change Request 18468 [Open] exclude-pattern does not work as documented</title>
      <link>http://pear.php.net/bugs/18468</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by sigmaz
2011-04-21T12:12:39+00:00
PHP: 5.3.6 OS: Windows Package Version: 1.3.0

Description:
------------
On Windows the exclude-pattern must be defined with escaped backslashes. For example:

&lt;exclude-pattern&gt;*\\test\\*&lt;/exclude-pattern&gt;

Expected result:
----------------
It would be great, if exclude-pattern definitions would be the same like on UNIX. 

Example:
&lt;exclude-pattern&gt;*/test/*&lt;/exclude-pattern&gt;

May be the directory separator could be converted internally by PHP_CodeSniffer, so that example above would work, too.

Actual result:
--------------
All files will be queued to be sniffed.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by sigmaz
2011-04-21T12:12:39+00:00
PHP: 5.3.6 OS: Windows Package Version: 1.3.0

Description:
------------
On Windows the exclude-pattern must be defined with escaped backslashes. For example:

&lt;exclude-pattern&gt;*\\test\\*&lt;/exclude-pattern&gt;

Expected result:
----------------
It would be great, if exclude-pattern definitions would be the same like on UNIX. 

Example:
&lt;exclude-pattern&gt;*/test/*&lt;/exclude-pattern&gt;

May be the directory separator could be converted internally by PHP_CodeSniffer, so that example above would work, too.

Actual result:
--------------
All files will be queued to be sniffed.</pre>]]></description>
      <dc:date>2011-04-28T04:57:38+00:00</dc:date>
      <dc:creator>steff &amp;#x64;&amp;#111;&amp;#x74; zeidler &amp;#x61;&amp;#116; googlemail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/13813">
      <title>PHP_CodeSniffer: Feature/Change Request 13813 [Open] ScopeIndent with &quot;exact&quot; does not work properly</title>
      <link>http://pear.php.net/bugs/13813</link>
      <content:encoded><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by blacksheepkhan
2008-04-30T20:50:03+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 1.1.0a1

Description:
------------
When the new ScopeIndentSniff is being extended to switch the &quot;exact&quot; boolean parameter on then it does not take in account doc indents.

Reason: We want to have all indents fixed to 4 spaces, not more. But documentation (inline) lines should be ignored because they are checked elsewhere.

Test script:
---------------
class anything
{
    /**
     * test
     */
    public function xxxx

Expected result:
----------------
No report expected because doc starts with 4 spaces and public also... 

The 1 space difference from within the doc (line * test and */) should be ignored.

Actual result:
--------------
Switching &quot;exact&quot; on throws error on &quot;* test&quot; and &quot;*/&quot; being 5 chars indent.

Switching &quot;exact&quot; would not throw an error when indention is more than 4 for public or other lines.</pre>]]></content:encoded>
      <description><![CDATA[<pre>PHP_CodeSniffer Feature/Change Request
Reported by blacksheepkhan
2008-04-30T20:50:03+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 1.1.0a1

Description:
------------
When the new ScopeIndentSniff is being extended to switch the &quot;exact&quot; boolean parameter on then it does not take in account doc indents.

Reason: We want to have all indents fixed to 4 spaces, not more. But documentation (inline) lines should be ignored because they are checked elsewhere.

Test script:
---------------
class anything
{
    /**
     * test
     */
    public function xxxx

Expected result:
----------------
No report expected because doc starts with 4 spaces and public also... 

The 1 space difference from within the doc (line * test and */) should be ignored.

Actual result:
--------------
Switching &quot;exact&quot; on throws error on &quot;* test&quot; and &quot;*/&quot; being 5 chars indent.

Switching &quot;exact&quot; would not throw an error when indention is more than 4 for public or other lines.</pre>]]></description>
      <dc:date>2011-04-07T11:55:19+00:00</dc:date>
      <dc:creator>thomas &amp;#x64;&amp;#111;&amp;#x74; weidner &amp;#x61;&amp;#116; gmx &amp;#x64;&amp;#111;&amp;#x74; at</dc:creator>
      <dc:subject>PHP_CodeSniffer Feature/Change Request</dc:subject>
    </item>
</rdf:RDF>
