Browse Source

Add tests for MouseReporter.report

xuty 3 năm trước cách đây
mục cha
commit
89b7dc7f80
1 tập tin đã thay đổi với 51 bổ sung0 xóa
  1. 51 0
      test/src/core/mouse/reporter_test.dart

+ 51 - 0
test/src/core/mouse/reporter_test.dart

@@ -0,0 +1,51 @@
+import 'package:test/test.dart';
+import 'package:xterm/src/core/mouse/reporter.dart';
+import 'package:xterm/xterm.dart';
+
+void main() {
+  group('MouseReporter', () {
+    test('report() supports normal mode', () {
+      final output = MouseReporter.report(
+        TerminalMouseButton.left,
+        TerminalMouseButtonState.down,
+        CellOffset(0, 0),
+        MouseReportMode.normal,
+      );
+
+      expect(output, equals('\x1B[M !"'));
+    });
+
+    test('report() supports utf mode', () {
+      final output = MouseReporter.report(
+        TerminalMouseButton.left,
+        TerminalMouseButtonState.down,
+        CellOffset(0, 0),
+        MouseReportMode.utf,
+      );
+
+      expect(output, equals('\x1B[M !"'));
+    });
+
+    test('report() supports sgr mode', () {
+      final output = MouseReporter.report(
+        TerminalMouseButton.left,
+        TerminalMouseButtonState.down,
+        CellOffset(0, 0),
+        MouseReportMode.sgr,
+      );
+
+      expect(output, equals('\x1B[<0;1;1M'));
+    });
+
+    test('report() supports urxvt mode', () {
+      final output = MouseReporter.report(
+        TerminalMouseButton.left,
+        TerminalMouseButtonState.down,
+        CellOffset(0, 0),
+        MouseReportMode.urxvt,
+      );
+
+      expect(output, equals('\x1B[32;1;1M'));
+    });
+  });
+}