|
|
@@ -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'));
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|