Skip to content

Commit

Permalink
Merge pull request #50162 from Microsoft/tyriar/command_tracker_tests
Browse files Browse the repository at this point in the history
Re-enable terminal command tracker tests
  • Loading branch information
Tyriar authored May 19, 2018
2 parents 53826fb + ec2fa70 commit 32bdc37
Showing 1 changed file with 66 additions and 64 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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[];
Expand Down Expand Up @@ -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');
});
});
});

0 comments on commit 32bdc37

Please sign in to comment.