mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-17 17:47:13 +00:00
Make tests pass on Windows (#1205)
* Make all tests pass cross platform * Add job to run tests on Windows * Merge test jobs with conditional Windows step for line endings * Prefix job name with OS * Update git lf step if statement * Exclude all tests for Windows except PHP 8.0 * composer fix-style Co-authored-by: Barry vd. Heuvel <[email protected]> Co-authored-by: laravel-ide-helper <[email protected]>
This commit is contained in:
co-authored by
Barry vd. Heuvel
laravel-ide-helper
parent
b6871d09a4
commit
37f08320ea
@@ -12,19 +12,31 @@ on:
|
||||
|
||||
jobs:
|
||||
php-tests:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 15
|
||||
env:
|
||||
COMPOSER_NO_INTERACTION: 1
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-20.04, windows-2019]
|
||||
php: [8.0, 7.4, 7.3]
|
||||
laravel: [8.*]
|
||||
|
||||
name: P${{ matrix.php }} - L${{ matrix.laravel }}
|
||||
|
||||
dependency-version: [prefer-lowest, prefer-stable]
|
||||
exclude:
|
||||
- php: 8.0
|
||||
dependency-version: prefer-lowest
|
||||
- os: windows-2019
|
||||
php: 7.4
|
||||
- os: windows-2019
|
||||
php: 7.3
|
||||
steps:
|
||||
- name: Set git to use LF
|
||||
if: ${{ matrix.os == 'windows-2019' }}
|
||||
run: |
|
||||
git config --global core.autocrlf false
|
||||
git config --global core.eol lf
|
||||
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
@@ -33,7 +45,7 @@ jobs:
|
||||
with:
|
||||
php-version: ${{ matrix.php }}
|
||||
coverage: none
|
||||
extensions: pdo_sqlite
|
||||
extensions: pdo_sqlite, fileinfo
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
|
||||
@@ -431,7 +431,7 @@ class ModelsCommand extends Command
|
||||
$customTypes = $this->laravel['config']->get("ide-helper.custom_db_types.{$platformName}", []);
|
||||
foreach ($customTypes as $yourTypeName => $doctrineTypeName) {
|
||||
try {
|
||||
if(!Type::hasType($yourTypeName)) {
|
||||
if (!Type::hasType($yourTypeName)) {
|
||||
Type::addType($yourTypeName, get_class(Type::getType($doctrineTypeName)));
|
||||
}
|
||||
} catch (DBALException $exception) {
|
||||
|
||||
@@ -49,8 +49,11 @@ class EloquentCommandTest extends TestCase
|
||||
';Unexpected no document on Illuminate\\\Database\\\Eloquent\\\Model;',
|
||||
$display
|
||||
);
|
||||
$modelClassFilePath = preg_quote(
|
||||
str_replace('/', DIRECTORY_SEPARATOR, '/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php')
|
||||
);
|
||||
$this->assertRegExp(
|
||||
';Wrote expected docblock to .*/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php;',
|
||||
';Wrote expected docblock to .*' . $modelClassFilePath . ';',
|
||||
$display
|
||||
);
|
||||
}
|
||||
|
||||
@@ -18,22 +18,24 @@ class Test extends AbstractModelsCommand
|
||||
]);
|
||||
|
||||
if (PHP_VERSION_ID >= 80000) {
|
||||
$errors = <<<TXT
|
||||
Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicBelongsTo() : Attempt to read property "created_at" on null
|
||||
Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasMany() : Attempt to read property "created_at" on null
|
||||
Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasOne() : Attempt to read property "created_at" on null
|
||||
TXT;
|
||||
$errors = [
|
||||
'Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicBelongsTo() : Attempt to read property "created_at" on null',
|
||||
'Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasMany() : Attempt to read property "created_at" on null',
|
||||
'Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasOne() : Attempt to read property "created_at" on null',
|
||||
];
|
||||
} else {
|
||||
$errors = <<<TXT
|
||||
Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicBelongsTo() : Trying to get property 'created_at' of non-object
|
||||
Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasMany() : Trying to get property 'created_at' of non-object
|
||||
Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasOne() : Trying to get property 'created_at' of non-object
|
||||
TXT;
|
||||
$errors = [
|
||||
"Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicBelongsTo() : Trying to get property 'created_at' of non-object",
|
||||
"Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasMany() : Trying to get property 'created_at' of non-object",
|
||||
"Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasOne() : Trying to get property 'created_at' of non-object",
|
||||
];
|
||||
}
|
||||
|
||||
$this->assertSame(0, $tester->getStatusCode());
|
||||
$this->assertStringContainsString('Written new phpDocBlock to', $tester->getDisplay());
|
||||
$this->assertStringContainsString($errors, $tester->getDisplay());
|
||||
foreach ($errors as $error) {
|
||||
$this->assertStringContainsString($error, $tester->getDisplay());
|
||||
}
|
||||
$this->assertMatchesMockedSnapshot();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\Variadic\Models;
|
||||
|
||||
use DateTime;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user