### Changes

Fixes #3: Error on DBI when files or folders contains special characters.

### Additional changes
* Added unit and feature tests
* Fix file size display
* Run tests on CI/CD
* Publish docker image on release
This commit is contained in:
Fabián Gonzalo Artur de la Villarmois
2026-03-29 17:35:32 +13:00
parent 15b9c17b99
commit 0993bfa666
15 changed files with 487 additions and 18 deletions
@@ -0,0 +1,33 @@
<?php
use Illuminate\Support\Facades\Storage;
beforeEach(function () {
Storage::fake();
});
test('a DBI user-agent on the web root gets a DBI directory listing', function () {
Storage::put('games/game.nsp', 'data');
$response = $this->get('/', ['HTTP_USER_AGENT' => 'DBI/1.0']);
$response->assertStatus(200);
$response->assertHeader('Content-Type', 'text/html; charset=utf-8');
$response->assertSee('Index of /games/');
});
test('a non-DBI user-agent on the web root is passed through', function () {
$response = $this->get('/', ['HTTP_USER_AGENT' => 'Mozilla/5.0']);
// The welcome view or the next middleware handles the request (not DBI)
$response->assertDontSee('Index of /games/');
});
test('a DBI user-agent on an arbitrary web path gets a DBI directory listing', function () {
Storage::put('games/GameA/game.nsp', 'data');
$response = $this->get('/anything', ['HTTP_USER_AGENT' => 'DBI/2.5']);
$response->assertStatus(200);
$response->assertSee('Index of /games/');
});