Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic.Files.LineLength miscalculates the length of line containing multibyte characters #3923

Open
3 tasks done
julien-picalausa opened this issue Nov 14, 2023 · 1 comment

Comments

@julien-picalausa
Copy link

Describe the bug

Generic.Files.LineLength will report a line to be over the limit if the line is at limit and contains one or more multibyte characters. This is easily reproducible when having UTF-8 strings in the code base.

Using

echo "Jeg liker blåbærsyltetøy";

Custom ruleset

<?xml version="1.0"?>
<ruleset name="My Custom Standard">
  <description>If you are using a custom ruleset, please enter it here.</description>
  <rule ref="Generic.Files.LineLength">
      <properties>
          <property name="lineLimit" value="33" />
          <property name="absoluteLineLimit" value="33" />
      </properties>
  </rule>
</ruleset>

To reproduce

Steps to reproduce the behavior:

  1. Create a file called test.php with the code sample above...
  2. Run phpcs test.php ...
  3. See error message displayed
 1  | ERROR | [ ] Line exceeds maximum limit of 33 characters; contains 35 characters

Expected behavior

No error. The line only has 32 characters (even though it is 35 bytes long)

Versions (please complete the following information)

Operating System FreeBSD 13.1
PHP version PHP 8.2.12
PHP_CodeSniffer version PHP_CodeSniffer version 3.7.2 (stable)
Standard custom
Install type PHAR

Additional context

None I can think og

Please confirm:

  • I have searched the issue list and am not opening a duplicate issue.
  • I confirm that this bug is a bug in PHP_CodeSniffer and not in one of the external standards.
  • I have verified the issue still exists in the master branch of PHP_CodeSniffer.
@oraxisart1
Copy link

Facing same issue on Manjaro Linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants