import { assert } from 'chai';
import { Viewport } from './Viewport';
+class MockWindow {
+ // Disable refreshLoop in test
+ public requestAnimationFrame() { }
+}
+
describe('Viewport', () => {
var terminal;
var viewportElement;
const CHARACTER_HEIGHT = 10;
beforeEach(() => {
+ (<any>global).window = new MockWindow();
terminal = {
lines: [],
rows: 0,
terminal.rows = 1;
assert.equal(scrollAreaElement.style.height, 0 * CHARACTER_HEIGHT + 'px');
viewport.syncScrollArea();
+ assert.ok(viewport.isRefreshQueued);
+ viewport.refresh();
assert.equal(viewportElement.style.height, 1 * CHARACTER_HEIGHT + 'px');
assert.equal(scrollAreaElement.style.height, 1 * CHARACTER_HEIGHT + 'px');
terminal.lines.push('');
viewport.syncScrollArea();
+ assert.ok(viewport.isRefreshQueued);
+ viewport.refresh();
assert.equal(viewportElement.style.height, 1 * CHARACTER_HEIGHT + 'px');
assert.equal(scrollAreaElement.style.height, 2 * CHARACTER_HEIGHT + 'px');
});