import 'package:flame_lua_runtime/flame_lua_runtime.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { test('public runtime API exposes minimal integration surface', () { const repository = AssetGamePackageRepository(); const fileRepository = FileGamePackageRepository(baseDirectory: 'packages'); const options = RuntimeOptions( runtimeLuaRoot: 'custom/runtime/lua', runtimeVersion: '1.2.0', hostBuild: 12, platform: 'windows', channel: 'dev', ); const widget = LuaGameWidget( gameId: 'template', packageRepository: repository, runtimeOptions: options, ); expect(widget.gameId, 'template'); expect(widget.packageRepository, same(repository)); expect(widget.runtimeOptions.runtimeLuaRoot, 'custom/runtime/lua'); expect(widget.runtimeOptions.runtimeVersion, '1.2.0'); expect(widget.runtimeOptions.hostBuild, 12); expect(widget.runtimeOptions.platform, 'windows'); expect(widget.runtimeOptions.channel, 'dev'); expect(fileRepository.baseDirectory, 'packages'); expect(LuaDardoScriptEngine.new, isA()); expect(RuntimeLocaleResolver.localeFromTag('zh-Hans').scriptCode, 'Hans'); }); }