소스 검색

Fix designate charset logic

Dheeraj Nalluri 2 년 전
부모
커밋
333c4eff41
5개의 변경된 파일11개의 추가작업 그리고 11개의 파일을 삭제
  1. 1 1
      lib/src/core/escape/handler.dart
  2. 4 4
      lib/src/core/escape/parser.dart
  3. 2 2
      lib/src/terminal.dart
  4. 2 2
      lib/src/utils/debugger.dart
  5. 2 2
      test/src/core/escape/parser_test.mocks.dart

+ 1 - 1
lib/src/core/escape/handler.dart

@@ -35,7 +35,7 @@ abstract class EscapeHandler {
 
   void reverseIndex();
 
-  void designateCharset(int charset);
+  void designateCharset(int charset, int name);
 
   void unkownEscape(int char);
 

+ 4 - 4
lib/src/core/escape/parser.dart

@@ -161,15 +161,15 @@ class EscapeParser {
 
   bool _escHandleDesignateCharset0() {
     if (_queue.isEmpty) return false;
-    _queue.consume();
-    handler.designateCharset(0);
+    int name = _queue.consume();
+    handler.designateCharset(0, name);
     return true;
   }
 
   bool _escHandleDesignateCharset1() {
     if (_queue.isEmpty) return false;
-    _queue.consume();
-    handler.designateCharset(1);
+    int name = _queue.consume();
+    handler.designateCharset(1, name);
     return true;
   }
 

+ 2 - 2
lib/src/terminal.dart

@@ -472,8 +472,8 @@ class Terminal with Observable implements TerminalState, EscapeHandler {
   }
 
   @override
-  void designateCharset(int charset) {
-    _buffer.charset.use(charset);
+  void designateCharset(int charset, int name) {
+    _buffer.charset.designate(charset, name);
   }
 
   @override

+ 2 - 2
lib/src/utils/debugger.dart

@@ -164,8 +164,8 @@ class _TerminalDebuggerHandler implements EscapeHandler {
   }
 
   @override
-  void designateCharset(int charset) {
-    onCommand('designateCharset($charset)');
+  void designateCharset(int charset, int name) {
+    onCommand('designateCharset($charset, $name)');
   }
 
   @override

+ 2 - 2
test/src/core/escape/parser_test.mocks.dart

@@ -143,10 +143,10 @@ class MockEscapeHandler extends _i1.Mock implements _i2.EscapeHandler {
         returnValueForMissingStub: null,
       );
   @override
-  void designateCharset(int? charset) => super.noSuchMethod(
+  void designateCharset(int? charset, int? name) => super.noSuchMethod(
         Invocation.method(
           #designateCharset,
-          [charset],
+          [charset, name],
         ),
         returnValueForMissingStub: null,
       );