tempFilePath(); file_put_contents($file, " 'Demo'];\n"); $service = new SettingCacheService($file); $this->assertNull($service->get('missing')); } public function testUpdateWritesAndNormalizesValues(): void { $file = $this->tempFilePath(); file_put_contents($file, " 'Old'];\n"); $service = new SettingCacheService($file); $this->assertTrue($service->update([ 'app_title' => 'New', 'app_locale' => null, ])); $this->assertSame('New', $service->get('app_title')); $this->assertNull($service->get('app_locale')); } private function tempFilePath(): string { $dir = sys_get_temp_dir() . '/mintyphp_settings_cache_test_' . bin2hex(random_bytes(6)); mkdir($dir, 0775, true); $file = $dir . '/settings.php'; $this->addToAssertionCount(1); $this->assertDirectoryExists($dir); return $file; } }