tipoff/test-support
Deprecated/archived package providing shared unit/feature testing support for Tipoff Laravel packages. Previously included common test utilities and configuration; being removed as a dependency so packages can update independently and adopt newer Laravel versions faster.
Purpose Alignment:
The tipoff/test-support package now includes a Laravel-specific fix for Windows Blade testing (v2.0.1), indicating limited but targeted Laravel integration. This suggests:
HttpTests or PestPHP/PHPUnit but fills a gap in cross-platform Blade test reliability.Laravel-Specific Gaps:
Opportunity:
Illuminate\View\Factory, conflicts with custom Blade providers or third-party Blade extensions are possible.storage/framework/views). Custom cache locations could break tests.str_replace or regex for path normalization, which could fail on UNIX-like systems if not guarded.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Platform-Specific Fix | High | Test on both Windows and Linux/macOS CI environments. |
| Blade Cache Assumptions | Medium | Ensure tests use Laravel’s default cache paths or mock the FileViewFinder. |
| Stale Codebase | Medium | Monitor for follow-up releases; fork if abandoned. |
| Laravel Version Lock | Low | Pin to a specific Laravel minor version (e.g., ^10.0) in composer.json. |
| Overhead for Non-Windows | Low | Benchmark test suite performance on non-Windows runners. |
@stack, @once)?
HttpTests or PestPHP for broader coverage.File::exists() checks with the package’s Blade path utilities.WindowsBladeTestCase).trait WindowsBladeTestCase {
protected function fixWindowsBladePaths(string $path): string {
// Replicate the package’s fix
return str_replace('\\', '/', $path);
}
}
FileViewFinder. Custom implementations (e.g., DatabaseViewFinder) could break.ViewFinder interface to isolate the fix.str_replace('\\', '/', ...)) may fail on UNIX if not guarded.DIRECTORY_SEPARATOR or Laravel’s Str::of() for cross-platform paths.assertBladeRenders()).View::make() calls).laravel/windows-blade-test-support.storage_path() vs. public_path()).resources/tests/BladeTestCase.php).| Scenario | Impact | Mitigation |
|---|---|---|
| Fix Breaks on UNIX | Blade tests fail in CI. | Guard path fixes with DIRECTORY_SEPARATOR. |
| Blade Cache Conflicts | Custom cache paths break tests. | Mock FileViewFinder in tests. |
| Package Abandoned | No updates for Laravel 11+. | Fork and maintain as a private package. |
| Overhead for Non-Blade Tests | Unnecessary dependency. | Remove from composer.json if unused. |
assertBladeCompiles()).How can I help you explore Laravel packages today?