未验证 提交 32bdc37e 编写于 作者: D Daniel Imms 提交者: GitHub

Merge pull request #50162 from Microsoft/tyriar/command_tracker_tests

Re-enable terminal command tracker tests
......@@ -6,6 +6,7 @@
import * as assert from 'assert';
import { Terminal } from 'vscode-xterm';
import { TerminalCommandTracker } from 'vs/workbench/parts/terminal/node/terminalCommandTracker';
import { isWindows } from 'vs/base/common/platform';
interface TestTerminal extends Terminal {
writeBuffer: string[];
......@@ -80,69 +81,70 @@ suite('Workbench - TerminalCommandTracker', () => {
commandTracker.scrollToNextCommand();
assert.equal(xterm.buffer.ydisp, 20);
});
// test('should select to the next and previous commands', () => {
// (<any>window).matchMedia = () => {
// return { addListener: () => {} }
// };
// xterm.open(document.createElement('div'));
// syncWrite(xterm, '\r0');
// syncWrite(xterm, '\n\r1');
// syncWrite(xterm, '\x1b[3G'); // Move cursor to column 3
// xterm.emit('key', '\x0d'); // Mark line
// assert.equal(xterm.markers[0].line, 10);
// syncWrite(xterm, '\n\r2');
// syncWrite(xterm, '\x1b[3G'); // Move cursor to column 3
// xterm.emit('key', '\x0d'); // Mark line
// assert.equal(xterm.markers[1].line, 11);
// syncWrite(xterm, '\n\r3');
// assert.equal(xterm.buffer.ybase, 3);
// assert.equal(xterm.buffer.ydisp, 3);
// assert.equal(xterm.getSelection(), '');
// commandTracker.selectToPreviousCommand();
// assert.equal(xterm.getSelection(), '2');
// commandTracker.selectToPreviousCommand();
// assert.equal(xterm.getSelection(), '1\n2');
// commandTracker.selectToNextCommand();
// assert.equal(xterm.getSelection(), '2');
// commandTracker.selectToNextCommand();
// assert.equal(xterm.getSelection(), '\n');
// });
// test('should select to the next and previous lines & commands', () => {
// (<any>window).matchMedia = () => {
// return { addListener: () => {} };
// };
// xterm.open(document.createElement('div'));
// syncWrite(xterm, '\r0');
// syncWrite(xterm, '\n\r1');
// syncWrite(xterm, '\x1b[3G'); // Move cursor to column 3
// xterm.emit('key', '\x0d'); // Mark line
// assert.equal(xterm.markers[0].line, 10);
// syncWrite(xterm, '\n\r2');
// syncWrite(xterm, '\x1b[3G'); // Move cursor to column 3
// xterm.emit('key', '\x0d'); // Mark line
// assert.equal(xterm.markers[1].line, 11);
// syncWrite(xterm, '\n\r3');
// assert.equal(xterm.buffer.ybase, 3);
// assert.equal(xterm.buffer.ydisp, 3);
// assert.equal(xterm.getSelection(), '');
// commandTracker.selectToPreviousLine();
// assert.equal(xterm.getSelection(), '2');
// commandTracker.selectToNextLine();
// commandTracker.selectToNextLine();
// assert.equal(xterm.getSelection(), '3');
// commandTracker.selectToPreviousCommand();
// commandTracker.selectToPreviousCommand();
// commandTracker.selectToNextLine();
// assert.equal(xterm.getSelection(), '2');
// commandTracker.selectToPreviousCommand();
// commandTracker.selectToPreviousLine();
// assert.equal(xterm.getSelection(), '0\r\n1\r\n2');
// });
test('should select to the next and previous commands', () => {
(<any>window).matchMedia = () => {
return { addListener: () => { } };
};
xterm.open(document.createElement('div'));
syncWrite(xterm, '\r0');
syncWrite(xterm, '\n\r1');
syncWrite(xterm, '\x1b[3G'); // Move cursor to column 3
xterm.emit('key', '\x0d'); // Mark line
assert.equal(xterm.markers[0].line, 10);
syncWrite(xterm, '\n\r2');
syncWrite(xterm, '\x1b[3G'); // Move cursor to column 3
xterm.emit('key', '\x0d'); // Mark line
assert.equal(xterm.markers[1].line, 11);
syncWrite(xterm, '\n\r3');
assert.equal(xterm.buffer.ybase, 3);
assert.equal(xterm.buffer.ydisp, 3);
assert.equal(xterm.getSelection(), '');
commandTracker.selectToPreviousCommand();
assert.equal(xterm.getSelection(), '2');
commandTracker.selectToPreviousCommand();
assert.equal(xterm.getSelection(), isWindows ? '1\r\n2' : '1\n2');
commandTracker.selectToNextCommand();
assert.equal(xterm.getSelection(), '2');
commandTracker.selectToNextCommand();
assert.equal(xterm.getSelection(), isWindows ? '\r\n' : '\n');
});
test('should select to the next and previous lines & commands', () => {
(<any>window).matchMedia = () => {
return { addListener: () => { } };
};
xterm.open(document.createElement('div'));
syncWrite(xterm, '\r0');
syncWrite(xterm, '\n\r1');
syncWrite(xterm, '\x1b[3G'); // Move cursor to column 3
xterm.emit('key', '\x0d'); // Mark line
assert.equal(xterm.markers[0].line, 10);
syncWrite(xterm, '\n\r2');
syncWrite(xterm, '\x1b[3G'); // Move cursor to column 3
xterm.emit('key', '\x0d'); // Mark line
assert.equal(xterm.markers[1].line, 11);
syncWrite(xterm, '\n\r3');
assert.equal(xterm.buffer.ybase, 3);
assert.equal(xterm.buffer.ydisp, 3);
assert.equal(xterm.getSelection(), '');
commandTracker.selectToPreviousLine();
assert.equal(xterm.getSelection(), '2');
commandTracker.selectToNextLine();
commandTracker.selectToNextLine();
assert.equal(xterm.getSelection(), '3');
commandTracker.selectToPreviousCommand();
commandTracker.selectToPreviousCommand();
commandTracker.selectToNextLine();
assert.equal(xterm.getSelection(), '2');
commandTracker.selectToPreviousCommand();
assert.equal(xterm.getSelection(), isWindows ? '1\r\n2' : '1\n2');
commandTracker.selectToPreviousLine();
assert.equal(xterm.getSelection(), isWindows ? '0\r\n1\r\n2' : '0\n1\n2');
});
});
});
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册