import { assert } from 'chai';
import { Viewport } from './Viewport';
+import {BufferSet} from './BufferSet';
describe('Viewport', () => {
let terminal;
let viewportElement;
- let selectionContainer;
let charMeasure;
let viewport;
let scrollAreaElement;
beforeEach(() => {
terminal = {
- lines: [],
rows: 0,
ydisp: 0,
on: () => {},
style: {
height: 0
}
- }
+ },
+ scrollback: 10
};
+ terminal.buffers = new BufferSet(terminal);
+ terminal.buffer = terminal.buffers.active;
viewportElement = {
addEventListener: () => {},
style: {
}, 0);
});
it('should set the height of the viewport when the line-height changed', () => {
- terminal.lines.push('');
- terminal.lines.push('');
+ terminal.buffer.lines.push('');
+ terminal.buffer.lines.push('');
terminal.rows = 1;
viewport.refresh();
assert.equal(viewportElement.style.height, 1 * CHARACTER_HEIGHT + 'px');
- charMeasure.height = 20;
+ charMeasure.height = 2 * CHARACTER_HEIGHT;
viewport.refresh();
- assert.equal(viewportElement.style.height, 20 + 'px');
+ assert.equal(viewportElement.style.height, 2 * CHARACTER_HEIGHT + 'px');
});
});
it('should sync the scroll area', done => {
// Allow CharMeasure to be initialized
setTimeout(() => {
- terminal.lines.push('');
+ terminal.buffer.lines.push('');
terminal.rows = 1;
assert.equal(scrollAreaElement.style.height, 0 * CHARACTER_HEIGHT + 'px');
viewport.syncScrollArea();
assert.equal(viewportElement.style.height, 1 * CHARACTER_HEIGHT + 'px');
assert.equal(scrollAreaElement.style.height, 1 * CHARACTER_HEIGHT + 'px');
- terminal.lines.push('');
+ terminal.buffer.lines.push('');
viewport.syncScrollArea();
assert.equal(viewportElement.style.height, 1 * CHARACTER_HEIGHT + 'px');
assert.equal(scrollAreaElement.style.height, 2 * CHARACTER_HEIGHT + 'px');