Skip to content

Commit

Permalink
Merge branch 'trunk' into chore/v1.2.0-changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
davidperezgar authored Oct 9, 2024
2 parents 07160dd + 11cff79 commit b8cf672
Show file tree
Hide file tree
Showing 11 changed files with 411 additions and 307 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/behat-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ jobs:
- name: Upload code coverage report
if: ${{ matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v4.6.0
with:
files: ${{ steps.coverage_files.outputs.files }}
flags: feature
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/php-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:
- name: Upload code coverage report
if: ${{ matrix.coverage }}
uses: codecov/codecov-action@893cfea3da0870ceb77096be8b5fe014720f3c32
uses: codecov/codecov-action@68708a9f7a6b6b5fe33673f782f93725c5eff3c6
with:
file: build/logs/*.xml
flags: unit
Expand Down Expand Up @@ -149,7 +149,7 @@ jobs:
- name: Upload code coverage report
if: ${{ matrix.coverage }}
uses: codecov/codecov-action@893cfea3da0870ceb77096be8b5fe014720f3c32
uses: codecov/codecov-action@68708a9f7a6b6b5fe33673f782f93725c5eff3c6
with:
file: build/logs/*.xml
flags: phpcs-sniffs
Expand Down
10 changes: 5 additions & 5 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 43 additions & 2 deletions includes/Checker/Checks/Plugin_Repo/File_Type_Check.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ class File_Type_Check extends Abstract_File_Check {
const TYPE_VCS = 4;
const TYPE_HIDDEN = 8;
const TYPE_APPLICATION = 16;
const TYPE_ALL = 31; // Same as all of the above with bitwise OR.
const TYPE_BADLY_NAMED = 32;
const TYPE_ALL = 63; // Same as all of the above with bitwise OR.

/**
* Bitwise flags to control check behavior.
Expand Down Expand Up @@ -90,6 +91,10 @@ protected function check_files( Check_Result $result, array $files ) {
if ( $this->flags & self::TYPE_APPLICATION ) {
$this->look_for_application_files( $result, $files );
}
if ( $this->flags & self::TYPE_BADLY_NAMED ) {
// Check for badly named files.
$this->look_for_badly_named_files( $result, $files );
}
}

/**
Expand Down Expand Up @@ -244,6 +249,42 @@ protected function look_for_application_files( Check_Result $result, array $file
}
}

/**
* Looks for application files and amends the given result with an error if found.
*
* @since 1.2.0
*
* @param Check_Result $result The check result to amend, including the plugin context to check.
* @param array $files List of absolute file paths.
*/
protected function look_for_badly_named_files( Check_Result $result, array $files ) {
$conflict_chars = '!@#$%^&*()+=[]{};:"\'<>,?/\\|`~';

foreach ( $files as $file ) {
$badly_name = false;
if ( preg_match( '/\s/', $file ) ) {
$badly_name = true;
}

if ( preg_match( '/[' . preg_quote( $conflict_chars, '/' ) . ']/', basename( $file ) ) ) {
$badly_name = true;
}

if ( $badly_name ) {
$this->add_result_error_for_file(
$result,
__( 'Badly named files are not permitted.', 'plugin-check' ),
'badly_named_files',
$file,
0,
0,
'',
8
);
}
}
}

/**
* Gets the description for the check.
*
Expand All @@ -254,7 +295,7 @@ protected function look_for_application_files( Check_Result $result, array $file
* @return string Description.
*/
public function get_description(): string {
return __( 'Detects the usage of hidden and compressed files, VCS directories, and application files.', 'plugin-check' );
return __( 'Detects the usage of hidden and compressed files, VCS directories, application files and badly named files.', 'plugin-check' );
}

/**
Expand Down
Loading

0 comments on commit b8cf672

Please sign in to comment.