| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import 'dart:async';
- import 'package:flutter_test/flutter_test.dart';
- import 'package:xterm/terminal/terminal_backend.dart';
- import 'package:xterm/terminal/terminal_isolate.dart';
- void main() {
- group('Start behavior tests', () {
- test('Using TerminalIsolate when not started throws exception', () {
- final fixture = _TestFixture();
- expect(() => fixture.uut.terminalWidth, throwsA(isA<Exception>()));
- });
- test('Using TerminalIsolate after started doesn\'t throw exceptions',
- () async {
- final fixture = _TestFixture();
- await fixture.uut.start(testingDontWaitForBootup: true);
- //no throw
- fixture.uut.showCursor;
- });
- });
- }
- class _TestFixture {
- _TestFixture() {
- fakeBackend = FakeBackend();
- uut = TerminalIsolate(maxLines: 10000, backend: fakeBackend);
- }
- late final TerminalIsolate uut;
- late final FakeBackend fakeBackend;
- }
- class FakeBackend implements TerminalBackend {
- @override
- void ackProcessed() {}
- @override
- bool get isReady => true;
- @override
- // TODO: implement exitCode
- Future<int> get exitCode => _exitCodeCompleter.future;
- @override
- void init() {
- _exitCodeCompleter = Completer<int>();
- _outStream = StreamController<String>();
- _hasInitBeenCalled = true;
- }
- @override
- Stream<String> get out => _outStream.stream;
- @override
- void resize(int width, int height, int pixelWidth, int pixelHeight) {
- _width = width;
- _height = height;
- _pixelWidth = pixelWidth;
- _pixelHeight = pixelHeight;
- }
- @override
- void terminate() {
- _isTerminated = true;
- }
- @override
- void write(String _) {}
- bool get hasInitBeenCalled => _hasInitBeenCalled;
- bool get isTerminated => _isTerminated;
- int? get width => _width;
- int? get height => _height;
- int? get pixelWidth => _pixelWidth;
- int? get pixelHeight => _pixelHeight;
- bool _hasInitBeenCalled = false;
- bool _isTerminated = false;
- int? _width;
- int? _height;
- int? _pixelWidth;
- int? _pixelHeight;
- late final _exitCodeCompleter;
- late final _outStream;
- }
|