Jelajahi Sumber

Fix designate charset logic

Dheeraj Nalluri 2 tahun lalu
induk
melakukan
333c4eff41

+ 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,
       );