Initial flame_lua_runtime package

This commit is contained in:
gem
2026-06-07 22:53:58 +08:00
commit 733b2fb798
262 changed files with 28439 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
import 'package:flame_lua_runtime/runtime/lifecycle/runtime_session.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
group('RuntimeSession', () {
test('moves through loading, active, disposing and disposed states', () {
final session = RuntimeSession(gameId: 'game');
expect(session.state, RuntimeSessionState.created);
expect(session.acceptsWork, isTrue);
expect(session.isActive, isFalse);
session.beginLoading();
expect(session.state, RuntimeSessionState.loading);
expect(session.acceptsWorkFor(session.id), isTrue);
expect(session.accepts(session.id), isFalse);
session.activate();
expect(session.state, RuntimeSessionState.active);
expect(session.accepts(session.id), isTrue);
session.beginDisposing();
expect(session.state, RuntimeSessionState.disposing);
expect(session.acceptsWork, isFalse);
expect(session.accepts(session.id), isFalse);
session.dispose();
expect(session.state, RuntimeSessionState.disposed);
expect(session.acceptsWork, isFalse);
});
test('rejects invalid transitions', () {
final session = RuntimeSession(gameId: 'game')..activate();
expect(session.beginLoading, throwsA(isA<StateError>()));
});
});
}