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:
|
jobs:
|
||||||
php-tests:
|
php-tests:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ${{ matrix.os }}
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
env:
|
env:
|
||||||
COMPOSER_NO_INTERACTION: 1
|
COMPOSER_NO_INTERACTION: 1
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
os: [ubuntu-20.04, windows-2019]
|
||||||
php: [8.0, 7.4, 7.3]
|
php: [8.0, 7.4, 7.3]
|
||||||
laravel: [8.*]
|
laravel: [8.*]
|
||||||
|
dependency-version: [prefer-lowest, prefer-stable]
|
||||||
name: P${{ matrix.php }} - L${{ matrix.laravel }}
|
exclude:
|
||||||
|
- php: 8.0
|
||||||
|
dependency-version: prefer-lowest
|
||||||
|
- os: windows-2019
|
||||||
|
php: 7.4
|
||||||
|
- os: windows-2019
|
||||||
|
php: 7.3
|
||||||
steps:
|
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
|
- name: Checkout code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
@@ -33,7 +45,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php }}
|
php-version: ${{ matrix.php }}
|
||||||
coverage: none
|
coverage: none
|
||||||
extensions: pdo_sqlite
|
extensions: pdo_sqlite, fileinfo
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -431,7 +431,7 @@ class ModelsCommand extends Command
|
|||||||
$customTypes = $this->laravel['config']->get("ide-helper.custom_db_types.{$platformName}", []);
|
$customTypes = $this->laravel['config']->get("ide-helper.custom_db_types.{$platformName}", []);
|
||||||
foreach ($customTypes as $yourTypeName => $doctrineTypeName) {
|
foreach ($customTypes as $yourTypeName => $doctrineTypeName) {
|
||||||
try {
|
try {
|
||||||
if(!Type::hasType($yourTypeName)) {
|
if (!Type::hasType($yourTypeName)) {
|
||||||
Type::addType($yourTypeName, get_class(Type::getType($doctrineTypeName)));
|
Type::addType($yourTypeName, get_class(Type::getType($doctrineTypeName)));
|
||||||
}
|
}
|
||||||
} catch (DBALException $exception) {
|
} catch (DBALException $exception) {
|
||||||
|
|||||||
@@ -49,8 +49,11 @@ class EloquentCommandTest extends TestCase
|
|||||||
';Unexpected no document on Illuminate\\\Database\\\Eloquent\\\Model;',
|
';Unexpected no document on Illuminate\\\Database\\\Eloquent\\\Model;',
|
||||||
$display
|
$display
|
||||||
);
|
);
|
||||||
|
$modelClassFilePath = preg_quote(
|
||||||
|
str_replace('/', DIRECTORY_SEPARATOR, '/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php')
|
||||||
|
);
|
||||||
$this->assertRegExp(
|
$this->assertRegExp(
|
||||||
';Wrote expected docblock to .*/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php;',
|
';Wrote expected docblock to .*' . $modelClassFilePath . ';',
|
||||||
$display
|
$display
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,22 +18,24 @@ class Test extends AbstractModelsCommand
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
if (PHP_VERSION_ID >= 80000) {
|
if (PHP_VERSION_ID >= 80000) {
|
||||||
$errors = <<<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: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: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
|
'Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasOne() : Attempt to read property "created_at" on null',
|
||||||
TXT;
|
];
|
||||||
} else {
|
} else {
|
||||||
$errors = <<<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: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: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
|
"Error resolving relation model of Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\DynamicRelations\Models\Dynamic:dynamicHasOne() : Trying to get property 'created_at' of non-object",
|
||||||
TXT;
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->assertSame(0, $tester->getStatusCode());
|
$this->assertSame(0, $tester->getStatusCode());
|
||||||
$this->assertStringContainsString('Written new phpDocBlock to', $tester->getDisplay());
|
$this->assertStringContainsString('Written new phpDocBlock to', $tester->getDisplay());
|
||||||
$this->assertStringContainsString($errors, $tester->getDisplay());
|
foreach ($errors as $error) {
|
||||||
|
$this->assertStringContainsString($error, $tester->getDisplay());
|
||||||
|
}
|
||||||
$this->assertMatchesMockedSnapshot();
|
$this->assertMatchesMockedSnapshot();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\Variadic\Models;
|
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\Variadic\Models;
|
||||||
|
|
||||||
use DateTime;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user